summaryrefslogtreecommitdiff
path: root/src/network.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/network.h')
-rw-r--r--src/network.h26
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 > &);
+};
+
}