diff --git a/lix/libstore/common-protocol.cc b/lix/libstore/common-protocol.cc index 2d1139eec..033c11912 100644 --- a/lix/libstore/common-protocol.cc +++ b/lix/libstore/common-protocol.cc @@ -10,6 +10,38 @@ namespace nix { /* protocol-agnostic definitions */ +bool CommonProto::Serialise::read(CommonProto::ReadConn conn) +{ + return readNum(conn.from); +} + +WireFormatGenerator CommonProto::Serialise::write(CommonProto::WriteConn conn, const bool & b) +{ + co_yield b; +} + +unsigned CommonProto::Serialise::read(CommonProto::ReadConn conn) +{ + return readNum(conn.from); +} + +WireFormatGenerator +CommonProto::Serialise::write(CommonProto::WriteConn conn, const unsigned & u) +{ + co_yield u; +} + +uint64_t CommonProto::Serialise::read(CommonProto::ReadConn conn) +{ + return readNum(conn.from); +} + +WireFormatGenerator +CommonProto::Serialise::write(CommonProto::WriteConn conn, const uint64_t & u) +{ + co_yield u; +} + std::string CommonProto::Serialise::read(CommonProto::ReadConn conn) { return readString(conn.from); diff --git a/lix/libstore/common-protocol.hh b/lix/libstore/common-protocol.hh index 29b270318..a88b61b9e 100644 --- a/lix/libstore/common-protocol.hh +++ b/lix/libstore/common-protocol.hh @@ -63,6 +63,12 @@ struct CommonProto [[nodiscard]] static WireFormatGenerator write(CommonProto::WriteConn conn, const T & str); \ } +template<> +DECLARE_COMMON_SERIALISER(bool); +template<> +DECLARE_COMMON_SERIALISER(unsigned); +template<> +DECLARE_COMMON_SERIALISER(uint64_t); template<> DECLARE_COMMON_SERIALISER(std::string); template<>