From b09e73f0abcc386719a2235cc3ae61fb1cbfc5ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 16 Aug 2023 20:53:58 +0200 Subject: Move network header definitions to protocol module --- src/network.h | 42 ++++++------------------------------------ 1 file changed, 6 insertions(+), 36 deletions(-) (limited to 'src/network.h') diff --git a/src/network.h b/src/network.h index 74231bf..c3a2074 100644 --- a/src/network.h +++ b/src/network.h @@ -65,7 +65,7 @@ struct Server::Peer shared_ptr lpeer = nullptr; - void send(const struct TransportHeader &, const vector &, bool secure); + void send(const NetworkProtocol::Header &, const vector &, bool secure); void updateIdentity(ReplyBuilder &); void updateChannel(ReplyBuilder &); void finalizeChannel(ReplyBuilder &, unique_ptr); @@ -91,47 +91,17 @@ struct PeerList::Priv : enable_shared_from_this void push(const shared_ptr &); }; -struct TransportHeader -{ - enum class Type { - Acknowledged, - DataRequest, - DataResponse, - AnnounceSelf, - AnnounceUpdate, - ChannelRequest, - ChannelAccept, - ServiceType, - ServiceRef, - }; - - struct Item { - const Type type; - const variant value; - - bool operator==(const Item &) const; - bool operator!=(const Item & other) const { return !(*this == other); } - }; - - TransportHeader(const vector & items): items(items) {} - static optional load(const PartialRef &); - static optional load(const PartialObject &); - PartialObject toObject() const; - - const vector items; -}; - class ReplyBuilder { public: - void header(TransportHeader::Item &&); + void header(NetworkProtocol::Header::Item &&); void body(const Ref &); - const vector & header() const { return mheader; } + const vector & header() const { return mheader; } vector body() const; private: - vector mheader; + vector mheader; vector mbody; }; @@ -160,7 +130,7 @@ struct Server::Priv Peer * findPeer(NetworkProtocol::Connection::Id cid) const; Peer & getPeer(const sockaddr_in6 & paddr); Peer & addPeer(NetworkProtocol::Connection conn); - void handlePacket(Peer &, const TransportHeader &, ReplyBuilder &); + void handlePacket(Peer &, const NetworkProtocol::Header &, ReplyBuilder &); void handleLocalHeadChange(const Head &); @@ -181,7 +151,7 @@ struct Server::Priv vector> peers; PeerList plist; - vector outgoing; + vector outgoing; vector> waiting; NetworkProtocol protocol; -- cgit v1.2.3