#include "simple_proto.h" #include #include using namespace NBus; void TSimpleProtocol::Serialize(const TBusMessage* mess, TBuffer& data) { Y_ABORT_UNLESS(typeid(TSimpleMessage) == typeid(*mess)); const TSimpleMessage* typed = static_cast(mess); data.Append((const char*)&typed->Payload, 4); } TAutoPtr TSimpleProtocol::Deserialize(ui16, TArrayRef payload) { if (payload.size() != 4) { return nullptr; } TAutoPtr r(new TSimpleMessage); memcpy(&r->Payload, payload.data(), 4); return r.Release(); }