feat: implemented full connection protocol (both)
This commit is contained in:
parent
acb7351ea7
commit
8086924141
12 changed files with 268 additions and 73 deletions
|
|
@ -41,15 +41,19 @@ public:
|
|||
enum NOKReason {
|
||||
NOK_UNAUTHENTICATED,
|
||||
NOK_UNKNOWN_MSG,
|
||||
NOK_REASON_INVALID //!< this means the value could not be parsed as a NOK reason, not that the reason is an invalid message.INVALID
|
||||
NOK_OUT_OF_CONTEXT, //!< this means a received message is not valid in the recipient's current context
|
||||
NOK_INVALID_REASON //!< this means the value could not be parsed as a NOK reason, not that the reason is an invalid message.
|
||||
};
|
||||
};
|
||||
|
||||
namespace ydi {
|
||||
int to_int(zmq::message_t const &msg, int failure = 0);
|
||||
NetworkData::MessageType to_message_type(zmq::message_t const &msg);
|
||||
NetworkData::NOKReason to_nok_reason(zmq::message_t const &msg);
|
||||
NetworkData::ClueID to_clue_id(zmq::message_t const &msg);
|
||||
|
||||
void print_message_contents(zmq::multipart_t const &mpart);
|
||||
|
||||
void extend_multipart(zmq::multipart_t &mpart, NetworkData::MessageType type);
|
||||
void extend_multipart(zmq::multipart_t &mpart, NetworkData::ClueID type);
|
||||
|
||||
|
|
@ -59,11 +63,18 @@ void extend_multipart(zmq::multipart_t &mpart, char const *cstr);
|
|||
void extend_multipart(zmq::multipart_t &mpart, int const &arg);
|
||||
void extend_multipart(zmq::multipart_t &mpart, zmq::multipart_t const &right);
|
||||
void extend_multipart(zmq::multipart_t &mpart);
|
||||
void extend_multipart(zmq::multipart_t &mpart, std::pair<zmq::multipart_t::iterator, zmq::multipart_t::iterator> range);
|
||||
void extend_multipart(zmq::multipart_t &mpart, std::pair<zmq::multipart_t::const_iterator, zmq::multipart_t::const_iterator> range);
|
||||
|
||||
template <typename TArg>
|
||||
void extend_multipart_r(zmq::multipart_t &mpart, TArg const &arg) {
|
||||
extend_multipart(mpart, arg);
|
||||
}
|
||||
|
||||
template <typename TArg, typename... TArgs>
|
||||
void extend_multipart(zmq::multipart_t &mpart, TArg const &arg, TArgs const &...args) {
|
||||
void extend_multipart_r(zmq::multipart_t &mpart, TArg const &arg, TArgs const &...args) {
|
||||
extend_multipart(mpart, arg);
|
||||
extend_multipart(mpart, args...);
|
||||
extend_multipart_r(mpart, args...);
|
||||
}
|
||||
|
||||
template <typename TArg>
|
||||
|
|
@ -76,7 +87,7 @@ zmq::multipart_t multipart(TArg const &arg) {
|
|||
template <typename TArg, typename... TArgs>
|
||||
zmq::multipart_t multipart(TArg const &arg, TArgs const &...args) {
|
||||
zmq::multipart_t mpart{ multipart(arg) };
|
||||
extend_multipart(mpart, args...);
|
||||
extend_multipart_r(mpart, args...);
|
||||
return mpart;
|
||||
}
|
||||
} //namespace ydi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue