MessagePackFormatter Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Serializes JSON-RPC messages using MessagePack (a fast, compact binary format).
public class MessagePackFormatter : IDisposable, StreamJsonRpc.IJsonRpcInstanceContainer, StreamJsonRpc.IJsonRpcMessageFormatter, StreamJsonRpc.Reflection.IJsonRpcFormatterState, StreamJsonRpc.Reflection.IJsonRpcFormatterTracingCallbacks
public class MessagePackFormatter : IDisposable, StreamJsonRpc.IJsonRpcInstanceContainer, StreamJsonRpc.IJsonRpcMessageFactory, StreamJsonRpc.IJsonRpcMessageFormatter, StreamJsonRpc.Reflection.IJsonRpcFormatterState, StreamJsonRpc.Reflection.IJsonRpcFormatterTracingCallbacks
type MessagePackFormatter = class
interface IJsonRpcMessageFormatter
interface IJsonRpcInstanceContainer
interface IJsonRpcFormatterState
interface IJsonRpcFormatterTracingCallbacks
interface IDisposable
type MessagePackFormatter = class
interface IJsonRpcMessageFormatter
interface IJsonRpcInstanceContainer
interface IJsonRpcFormatterState
interface IJsonRpcFormatterTracingCallbacks
interface IJsonRpcMessageFactory
interface IDisposable
Public Class MessagePackFormatter
Implements IDisposable, IJsonRpcFormatterState, IJsonRpcFormatterTracingCallbacks, IJsonRpcInstanceContainer, IJsonRpcMessageFormatter
Public Class MessagePackFormatter
Implements IDisposable, IJsonRpcFormatterState, IJsonRpcFormatterTracingCallbacks, IJsonRpcInstanceContainer, IJsonRpcMessageFactory, IJsonRpcMessageFormatter
- Inheritance
-
MessagePackFormatter
- Implements
Remarks
The MessagePack implementation used here comes from https://github.com/neuecc/MessagePack-CSharp. The README on that project site describes use cases and its performance compared to alternative .NET MessagePack implementations and this one appears to be the best by far.
Constructors
MessagePackFormatter() |
Initializes a new instance of the MessagePackFormatter class. |
Properties
DefaultUserDataSerializationOptions |
Gets the default MessagePack.MessagePackSerializerOptions used for user data (arguments, return values and errors) in RPC calls prior to any call to SetMessagePackSerializerOptions(MessagePackSerializerOptions). |
MultiplexingStream |
Gets or sets the MultiplexingStream that may be used to establish out of band communication (e.g. marshal IDuplexPipe arguments). |
Methods
Deserialize(ReadOnlySequence<Byte>) |
Deserializes a JsonRpcMessage. |
Dispose() | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
Dispose(Boolean) |
Disposes managed and native resources held by this instance. |
GetJsonText(JsonRpcMessage) |
Gets a JSON representation for a given message for tracing purposes. |
Serialize(IBufferWriter<Byte>, JsonRpcMessage) |
Serializes a JsonRpcMessage. |
SetMessagePackSerializerOptions(MessagePackSerializerOptions) |
Sets the MessagePack.MessagePackSerializerOptions to use for serialization of user data. |
Explicit Interface Implementations
IJsonRpcFormatterState.DeserializingMessageWithId |
Gets the ID of the response currently being deserialized. |
IJsonRpcFormatterState.SerializingMessageWithId |
Gets the id of the request or response currently being serialized. |
IJsonRpcFormatterState.SerializingRequest |
Gets a value indicating whether a JsonRpcRequest is being serialized. |
IJsonRpcFormatterTracingCallbacks.OnSerializationComplete(JsonRpcMessage, ReadOnlySequence<Byte>) | |
IJsonRpcInstanceContainer.Rpc |
Sets the JsonRpc instance. |
IJsonRpcMessageFactory.CreateErrorMessage() |
Creates an instance of JsonRpcError suitable for transmission over the IJsonRpcMessageFormatter. |
IJsonRpcMessageFactory.CreateRequestMessage() |
Creates an instance of JsonRpcRequest suitable for transmission over the IJsonRpcMessageFormatter. |
IJsonRpcMessageFactory.CreateResultMessage() |
Creates an instance of JsonRpcResult suitable for transmission over the IJsonRpcMessageFormatter. |