pub enum Message {
Request(Request),
Response(Response),
Notification(Notification),
Batch(Vec<Message>),
UnmatchedSub(Value),
}
Expand description
One message of the JSON RPC protocol.
One message, directly mapped from the structures of the protocol. See the specification for more details.
Since the protocol allows one endpoint to be both client and server at the same time, the message can decode and encode both directions of the protocol.
The Batch
variant is supposed to be created directly, without a constructor.
The UnmatchedSub
variant is used when a request is an array and some of the subrequests
aren’t recognized as valid json rpc 2.0 messages. This is never returned as a top-level
element, it is returned as Err(Broken::Unmatched)
.
Variants§
Request(Request)
An RPC request.
Response(Response)
A response to a Request.
Notification(Notification)
A notification.
Batch(Vec<Message>)
A batch of more requests or responses.
The protocol allows bundling multiple requests, notifications or responses to a single message.
This variant has no direct constructor and is expected to be constructed manually.
UnmatchedSub(Value)
An unmatched sub entry in a Batch
.
When there’s a Batch
and an element doesn’t comform to the JSONRPC 2.0 format, that one
is represented by this. This is never produced as a top-level value when parsing, the
Err(Broken::Unmatched)
is used instead. It is not possible to serialize.