12#include "lix/libstore/length-prefixed-protocol-helper.hh"
18#define SERVE_USE_LENGTH_PREFIX_SERIALISER(TEMPLATE, T) \
19 TEMPLATE T ServeProto::Serialise< T >::read(const Store & store, ServeProto::ReadConn conn) \
21 return LengthPrefixedProtoHelper<ServeProto, T >::read(store, conn); \
24 TEMPLATE [[nodiscard]] WireFormatGenerator ServeProto::Serialise< T >::write(const Store & store, ServeProto::WriteConn conn, const T & t) \
26 return LengthPrefixedProtoHelper<ServeProto, T >::write(store, conn, t); \
29SERVE_USE_LENGTH_PREFIX_SERIALISER(template<typename T>, std::vector<T>)
30SERVE_USE_LENGTH_PREFIX_SERIALISER(template<typename T>, std::set<T>)
31SERVE_USE_LENGTH_PREFIX_SERIALISER(template<typename... Ts>, std::tuple<Ts...>)
34SERVE_USE_LENGTH_PREFIX_SERIALISER(
35 template<typename K COMMA_ typename V>,
45 static T read(
const Store & store, ServeProto::ReadConn conn)
47 return CommonProto::Serialise<T>::read(store,
48 CommonProto::ReadConn { .from = conn.from });
51 static WireFormatGenerator
write(
const Store & store, ServeProto::WriteConn conn,
const T & t)
53 return CommonProto::Serialise<T>::write(store,
54 CommonProto::WriteConn {},
Definition serve-protocol.hh:73
static WireFormatGenerator write(const Store &store, WriteConn conn, const T &t)
Definition serve-protocol.hh:91