diff options
Diffstat (limited to 'src/network.h')
-rw-r--r-- | src/network.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/network.h b/src/network.h index 1fc2c87..8ea8b6c 100644 --- a/src/network.h +++ b/src/network.h @@ -136,4 +136,30 @@ struct Server::Priv vector<unique_ptr<Service>> services; }; +class ReplyBuilder +{ +public: + using Header = NetworkProtocol::Header; + + void header( Header::Item && ); + void body( const Ref & ); + + const vector< Header::Item > & header() const { return mheader; } + vector< Object > body() const; + +private: + vector< Header::Item > mheader; + vector< Ref > mbody; +}; + +struct WaitingRef +{ + const Storage storage; + const PartialRef ref; + vector< Digest > missing; + + optional< Ref > check(); + optional< Ref > check( ReplyBuilder &, const vector< Digest > &); +}; + } |