From 629277662970de896310d8e12b719580c2b8eb71 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 20 Nov 2019 10:29:09 -0800 Subject: [PATCH] normalize message names to CMD_* --- src/pvaproto.h | 50 +++++++++++++++++------------------ src/server.cpp | 4 +-- src/serverchan.cpp | 14 +++++----- src/serverconn.cpp | 56 ++++++++++++++++++++-------------------- src/serverconn.h | 28 ++++++++++---------- src/serverintrospect.cpp | 4 +-- src/udp_collector.cpp | 4 +-- test/testudp.cpp | 4 +-- 8 files changed, 81 insertions(+), 83 deletions(-) diff --git a/src/pvaproto.h b/src/pvaproto.h index 3762a26..91731fc 100644 --- a/src/pvaproto.h +++ b/src/pvaproto.h @@ -404,32 +404,30 @@ struct pva_ctrl_msg { }; }; -struct pva_app_msg { - enum type_t : uint8_t { - Beacon = 0x00, - ConnValid = 0x01, - Echo = 0x02, - Search = 0x03, - SearchReply = 0x04, - AuthZ = 0x05, - AclChange = 0x06, // unused so far - CreateChan = 0x07, - DestroyChan = 0x08, - ConnValidated= 0x09, - GetOp = 0x0A, - PutOp = 0x0B, - PutGetOp = 0x0C, - MonitorOp = 0x0D, - ArrayOp = 0x0E, // deprecating - DestroyOp = 0x0F, - ProcessOp = 0x10, - Introspect = 0x11, - Message = 0x12, - MultipleData = 0x13, // premature optimization... - RPCOp = 0x14, - CancelOp = 0x15, - OriginTag = 0x16 - }; +enum pva_app_msg_t : uint8_t { + CMD_BEACON = 0, + CMD_CONNECTION_VALIDATION = 1, + CMD_ECHO = 2, + CMD_SEARCH = 3, + CMD_SEARCH_RESPONSE = 4, + CMD_AUTHNZ = 5, + CMD_ACL_CHANGE = 6, + CMD_CREATE_CHANNEL = 7, + CMD_DESTROY_CHANNEL = 8, + CMD_CONNECTION_VALIDATED = 9, + CMD_GET = 10, + CMD_PUT = 11, + CMD_PUT_GET = 12, + CMD_MONITOR = 13, + CMD_ARRAY = 14, + CMD_DESTROY_REQUEST = 15, + CMD_PROCESS = 16, + CMD_GET_FIELD = 17, + CMD_MESSAGE = 18, + CMD_MULTIPLE_DATA = 19, + CMD_RPC = 20, + CMD_CANCEL_REQUEST = 21, + CMD_ORIGIN_TAG = 22 }; struct pva_search_flags { diff --git a/src/server.cpp b/src/server.cpp index de14e89..b153860 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -535,7 +535,7 @@ void Server::Pvt::onSearch(const UDPManager::Search& msg) // now going back to fill in header FixedBuf H(true, searchReply.data(), 8); - to_wire(H, Header{pva_app_msg::SearchReply, pva_flags::Server, uint32_t(pktlen-8)}); + to_wire(H, Header{CMD_SEARCH_RESPONSE, pva_flags::Server, uint32_t(pktlen-8)}); if(!M.good() || !H.good()) { log_printf(serverio, PLVL_CRIT, "Logic error in Search buffer fill\n"); @@ -564,7 +564,7 @@ void Server::Pvt::doBeacons(short evt) // now going back to fill in header FixedBuf H(true, searchReply.data(), 8); - to_wire(H, Header{pva_app_msg::Beacon, pva_flags::Server, uint32_t(pktlen-8)}); + to_wire(H, Header{CMD_BEACON, pva_flags::Server, uint32_t(pktlen-8)}); assert(M.good() && H.good()); diff --git a/src/serverchan.cpp b/src/serverchan.cpp index 92ae897..8a8349b 100644 --- a/src/serverchan.cpp +++ b/src/serverchan.cpp @@ -73,7 +73,7 @@ void ServerChannelControl::close() auto tx = bufferevent_get_output(conn->bev.get()); constexpr bool be = EPICS_BYTE_ORDER==EPICS_ENDIAN_BIG; EvOutBuf R(be, tx); - to_wire(R, Header{pva_app_msg::DestroyChan, pva_flags::Server, 8}); + to_wire(R, Header{CMD_DESTROY_CHANNEL, pva_flags::Server, 8}); to_wire(R, ch->sid); to_wire(R, ch->cid); } @@ -82,7 +82,7 @@ void ServerChannelControl::close() }); } -void ServerConn::handle_Search() +void ServerConn::handle_SEARCH() { const bool be = EPICS_BYTE_ORDER==EPICS_ENDIAN_BIG; EvInBuf M(peerBE, segBuf.get(), 16); @@ -162,7 +162,7 @@ void ServerConn::handle_Search() } auto tx = bufferevent_get_output(bev.get()); - to_evbuf(tx, Header{pva_app_msg::SearchReply, + to_evbuf(tx, Header{CMD_SEARCH_RESPONSE, pva_flags::Server, uint32_t(evbuffer_get_length(txBody.get()))}, be); @@ -170,7 +170,7 @@ void ServerConn::handle_Search() assert(!err); } -void ServerConn::handle_CreateChan() +void ServerConn::handle_CREATE_CHANNEL() { const bool be = EPICS_BYTE_ORDER==EPICS_ENDIAN_BIG; const auto self = shared_from_this(); @@ -265,7 +265,7 @@ void ServerConn::handle_CreateChan() } auto tx = bufferevent_get_output(bev.get()); - to_evbuf(tx, Header{pva_app_msg::CreateChan, + to_evbuf(tx, Header{CMD_CREATE_CHANNEL, pva_flags::Server, uint32_t(evbuffer_get_length(txBody.get()))}, be); @@ -279,7 +279,7 @@ void ServerConn::handle_CreateChan() } } -void ServerConn::handle_DestroyChan() +void ServerConn::handle_DESTROY_CHANNEL() { EvInBuf M(peerBE, segBuf.get(), 16); @@ -325,7 +325,7 @@ void ServerConn::handle_DestroyChan() auto tx = bufferevent_get_output(bev.get()); constexpr bool be = EPICS_BYTE_ORDER==EPICS_ENDIAN_BIG; EvOutBuf R(be, tx); - to_wire(R, Header{pva_app_msg::DestroyChan, pva_flags::Server, 8}); + to_wire(R, Header{CMD_DESTROY_CHANNEL, pva_flags::Server, 8}); to_wire(R, sid); to_wire(R, cid); } diff --git a/src/serverconn.cpp b/src/serverconn.cpp index accd094..3fa5099 100644 --- a/src/serverconn.cpp +++ b/src/serverconn.cpp @@ -77,7 +77,7 @@ ServerConn::ServerConn(ServIface* iface, evutil_socket_t sock, struct sockaddr * auto bend = M.save(); FixedBuf H(be, save, 8); - to_wire(H, Header{pva_app_msg::ConnValid, pva_flags::Server, uint32_t(bend-bstart)}); + to_wire(H, Header{CMD_CONNECTION_VALIDATION, pva_flags::Server, uint32_t(bend-bstart)}); assert(M.good() && H.good()); @@ -100,7 +100,7 @@ const std::shared_ptr& ServerConn::lookupSID(uint32_t sid) return it->second; } -void ServerConn::handle_Echo() +void ServerConn::handle_ECHO() { // Client requests echo as a keep-alive check @@ -108,7 +108,7 @@ void ServerConn::handle_Echo() uint32_t len = evbuffer_get_length(segBuf.get()); const bool be = EPICS_BYTE_ORDER == EPICS_ENDIAN_BIG; - to_evbuf(tx, Header{pva_app_msg::Echo, pva_flags::Server, len}, be); + to_evbuf(tx, Header{CMD_ECHO, pva_flags::Server, len}, be); auto err = evbuffer_add_buffer(tx, segBuf.get()); assert(!err); @@ -129,7 +129,7 @@ void auth_complete(ServerConn *self, const Status& sts) } auto tx = bufferevent_get_output(self->bev.get()); - to_evbuf(tx, Header{pva_app_msg::ConnValidated, + to_evbuf(tx, Header{CMD_CONNECTION_VALIDATED, pva_flags::Server, uint32_t(evbuffer_get_length(self->txBody.get()))}, be); @@ -139,7 +139,7 @@ void auth_complete(ServerConn *self, const Status& sts) log_printf(connsetup, PLVL_DEBUG, "%s Auth complete with %d\n", self->peerName.c_str(), sts.code); } -void ServerConn::handle_ConnValid() +void ServerConn::handle_CONNECTION_VALIDATION() { // Client begins (restarts?) Auth handshake @@ -175,24 +175,24 @@ void ServerConn::handle_ConnValid() auth_complete(this, Status{Status::Ok}); } -void ServerConn::handle_AuthZ() +void ServerConn::handle_AUTHNZ() { // ignored (so far no auth plugin actually uses) } -void ServerConn::handle_GetOp() +void ServerConn::handle_GET() {} -void ServerConn::handle_PutOp() +void ServerConn::handle_PUT() {} -void ServerConn::handle_RPCOp() +void ServerConn::handle_RPC() {} -void ServerConn::handle_PutGetOp() +void ServerConn::handle_PUT_GET() {} -void ServerConn::handle_CancelOp() +void ServerConn::handle_CANCEL_REQUEST() { EvInBuf M(peerBE, segBuf.get(), 16); @@ -223,7 +223,7 @@ void ServerConn::handle_CancelOp() } } -void ServerConn::handle_DestroyOp() +void ServerConn::handle_DESTROY_REQUEST() { EvInBuf M(peerBE, segBuf.get(), 16); @@ -243,7 +243,7 @@ void ServerConn::handle_DestroyOp() } } -void ServerConn::handle_Message() +void ServerConn::handle_MESSAGE() { EvInBuf M(peerBE, segBuf.get(), 16); @@ -389,24 +389,24 @@ void ServerConn::bevRead() log_printf(connio, PLVL_DEBUG, "Client %s Ignore unexpected command 0x%02x\n", peerName.c_str(), segCmd); evbuffer_drain(segBuf.get(), evbuffer_get_length(segBuf.get())); break; -#define CASE(Op) case pva_app_msg::Op: handle_##Op(); break - CASE(Echo); - CASE(ConnValid); - CASE(Search); - CASE(AuthZ); +#define CASE(OP) case CMD_##OP: handle_##OP(); break + CASE(ECHO); + CASE(CONNECTION_VALIDATION); + CASE(SEARCH); + CASE(AUTHNZ); - CASE(CreateChan); - CASE(DestroyChan); + CASE(CREATE_CHANNEL); + CASE(DESTROY_CHANNEL); - CASE(GetOp); - CASE(PutOp); - CASE(PutGetOp); - CASE(RPCOp); - CASE(CancelOp); - CASE(DestroyOp); - CASE(Introspect); + CASE(GET); + CASE(PUT); + CASE(PUT_GET); + CASE(RPC); + CASE(CANCEL_REQUEST); + CASE(DESTROY_REQUEST); + CASE(GET_FIELD); - CASE(Message); + CASE(MESSAGE); #undef CASE } // handlers may be cleared bev to force disconnect diff --git a/src/serverconn.h b/src/serverconn.h index 552564a..6d058ee 100644 --- a/src/serverconn.h +++ b/src/serverconn.h @@ -109,23 +109,23 @@ struct ServerConn : public std::enable_shared_from_this private: #define CASE(Op) void handle_##Op(); - CASE(Echo); - CASE(ConnValid); - CASE(Search); - CASE(AuthZ); + CASE(ECHO); + CASE(CONNECTION_VALIDATION); + CASE(SEARCH); + CASE(AUTHNZ); - CASE(CreateChan); - CASE(DestroyChan); + CASE(CREATE_CHANNEL); + CASE(DESTROY_CHANNEL); - CASE(GetOp); - CASE(PutOp); - CASE(PutGetOp); - CASE(RPCOp); - CASE(CancelOp); - CASE(DestroyOp); - CASE(Introspect); + CASE(GET); + CASE(PUT); + CASE(PUT_GET); + CASE(RPC); + CASE(CANCEL_REQUEST); + CASE(DESTROY_REQUEST); + CASE(GET_FIELD); - CASE(Message); + CASE(MESSAGE); #undef CASE void cleanup(); diff --git a/src/serverintrospect.cpp b/src/serverintrospect.cpp index 577ecbe..be438ef 100644 --- a/src/serverintrospect.cpp +++ b/src/serverintrospect.cpp @@ -64,7 +64,7 @@ struct ServerIntrospectControl : public server::Introspect } auto tx = bufferevent_get_output(conn->bev.get()); - to_evbuf(tx, Header{pva_app_msg::Introspect, + to_evbuf(tx, Header{CMD_GET_FIELD, pva_flags::Server, uint32_t(evbuffer_get_length(conn->txBody.get()))}, be); @@ -82,7 +82,7 @@ struct ServerIntrospectControl : public server::Introspect }; } // namespace -void ServerConn::handle_Introspect() +void ServerConn::handle_GET_FIELD() { // aka. GetField diff --git a/src/udp_collector.cpp b/src/udp_collector.cpp index 401850e..fd473fa 100644 --- a/src/udp_collector.cpp +++ b/src/udp_collector.cpp @@ -109,7 +109,7 @@ struct UDPCollector : public UDPManager::Search, switch(cmd) { - case pva_app_msg::Search: { + case CMD_SEARCH: { uint8_t flags = 0; SockAddr replyAddr; uint16_t port = 0; @@ -177,7 +177,7 @@ struct UDPCollector : public UDPManager::Search, break; } - case pva_app_msg::Beacon: { + case CMD_BEACON: { uint16_t port = 0; _from_wire<12>(M, &beaconMsg.guid[0], false); diff --git a/test/testudp.cpp b/test/testudp.cpp index 835f912..31c11a2 100644 --- a/test/testudp.cpp +++ b/test/testudp.cpp @@ -53,7 +53,7 @@ void testBeacon(bool be) uint8_t msg[46] = { // header - 0xca, pva_version::server, 0, pva_app_msg::Beacon, + 0xca, pva_version::server, 0, CMD_BEACON, 0, 0, 0, 0, // length filled in later // GUID 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, @@ -135,7 +135,7 @@ void testSearch(bool be, std::initializer_list names) auto pktlen = M.save()-msg.data(); FixedBuf H(be, msg.data(), 8); - to_wire(H, Header{pva_app_msg::Search, 0, uint32_t(pktlen-8)}); + to_wire(H, Header{CMD_SEARCH, 0, uint32_t(pktlen-8)}); testOk1(M.good() && H.good()); testOk1(M.save()>=msg.data());