virtual std::shared_ptr<message_t> read_message();
virtual void write_message(std::shared_ptr<message_t> obj);
virtual void write_message(std::vector<std::shared_ptr<message_t>>& vobj);
virtual std::shared_ptr<message_t> read_message();
virtual void write_message(std::shared_ptr<message_t> obj);
virtual void write_message(std::vector<std::shared_ptr<message_t>>& vobj);