diff options
Diffstat (limited to 'modules/codec/c++')
-rw-r--r-- | modules/codec/c++/transport.hpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/codec/c++/transport.hpp b/modules/codec/c++/transport.hpp index 6116497..1dbe038 100644 --- a/modules/codec/c++/transport.hpp +++ b/modules/codec/c++/transport.hpp @@ -40,11 +40,22 @@ public: return data_view; } - error_or<array_buffer> chain_slice(chain_array_buffer& buff) const { - (void) buff; + error_or<uint64_t> wrap(buffer& out_buff, buffer& in_buff){ + using trans_type = typename native_data_type<schema::Primitive<schema::UnsignedInteger, Len>>::type; + trans_type val{}; + val = static_cast<trans_type>(in_buff.read_composite_length()); + auto eov = stream_value<schema::Primitive<schema::UnsignedInteger, Len>>::encode(val, out_buff); + if(eov.is_error()){ + auto& err = eov.get_error(); + return std::move(err); + } + return Len; + } + error_or<array_buffer> chain_slice(chain_array_buffer& buff) const { + (void) buff; return make_error<err::not_implemented>(); } }; |