45 msgpack::object
object, std::shared_ptr<msgpack::zone> zone)
47 if (
object.type != msgpack::type::ARRAY) {
49 StatusCode::INVALID_MESSAGE,
"Invalid type of parameters.");
59 template <
typename... Parameters>
60 [[nodiscard]] std::tuple<Parameters...>
as()
const {
63 if (
object_.via.array.size !=
sizeof...(Parameters)) {
65 "Invalid number of parameters.");
67 return object_.as<std::tuple<Parameters...>>();
68 }
catch (
const msgpack::type_error&) {
70 StatusCode::TYPE_ERROR,
"Invalid types of parameters.");
79 std::shared_ptr<msgpack::zone>
zone_;
Class of exceptions in cpp-msgpack-rpc library.
msgpack::object object_
Object of parameters in msgpack library.
std::shared_ptr< msgpack::zone > zone_
Zone in msgpack library.
ParsedParameters(msgpack::object object, std::shared_ptr< msgpack::zone > zone)
Constructor.
std::tuple< Parameters... > as() const
Get parameters as given types.
Definition of MsgpackRPCException class.
Definition of StatusCode enumeration.