Вам необходимо предоставить функцию pack()
для вашей Content
struct:
namespace msgpack
{
MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS)
{
namespace adaptor
{
template <>
struct pack<Content> {
template <typename Stream>
msgpack::packer<Stream>& operator()(
msgpack::packer<Stream>& out, Content const& obj) const
{
out.pack(obj.image);
out.pack(obj.msg);
return out;
}
};
}
}
}
Если ваше программное обеспечение не оценивает данные MessagePack, вам необходимо создать pack () функционирует в соответствии с ожиданиями формата / макета вашего получателя zmq / MessagePack.
Пример функции convert () (то же пространство имен, что и pack)() функция выше):
template <>
struct convert<Content> {
msgpack::object const& operator()(
msgpack::object const& o, Content& v) const
{
// unpack data in the same format as it was packed. see above!
return o;
}
};