47 template <
typename... Parameters>
50 const Parameters&... parameters) {
52 msgpack::packer<impl::SerializationBuffer> packer{buffer};
55 packer.pack(message_id);
56 packer.pack(method_name.
name());
57 packer.pack(std::forward_as_tuple(parameters...));
73 msgpack::packer<impl::SerializationBuffer> packer{buffer};
76 packer.pack(request_id);
94 msgpack::packer<impl::SerializationBuffer> packer{buffer};
97 packer.pack(request_id);
111 template <
typename... Parameters>
115 msgpack::packer<impl::SerializationBuffer> packer{buffer};
116 packer.pack_array(3);
118 packer.pack(method_name.
name());
119 packer.pack(std::forward_as_tuple(parameters...));
Class to serialize messages.
static SerializedMessage serialize_error_response(MessageID request_id, const T &error)
Serialize an error response.
static SerializedMessage serialize_notification(MethodNameView method_name, const Parameters &... parameters)
Serialize a notification.
static SerializedMessage serialize_successful_response(MessageID request_id, const T &result)
Serialize a successful response.
static SerializedMessage serialize_request(MethodNameView method_name, MessageID message_id, const Parameters &... parameters)
Serialize a request.
std::string_view name() const noexcept
Get the method name.
Class of serialized message data.
Class of buffers for serialization.
SerializedMessage release() noexcept
Release the buffer as msgpack_rpc::messages::SerializedMessage object.
Definition of MessageID type.
Definition of MethodNameView class.
std::uint32_t MessageID
Type of message IDs.
Definition of SerializationBuffer class.
Definition of SerializedMessage class.