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