MessageHandlerBase 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.
An abstract base class for for sending and receiving messages.
public abstract class MessageHandlerBase : IDisposable, Microsoft.IDisposableObservable, StreamJsonRpc.IJsonRpcMessageHandler
public abstract class MessageHandlerBase : IDisposable, Microsoft.IDisposableObservable, Microsoft.VisualStudio.Threading.IAsyncDisposable, StreamJsonRpc.IJsonRpcMessageHandler
type MessageHandlerBase = class
interface IJsonRpcMessageHandler
interface IDisposableObservable
interface IDisposable
type MessageHandlerBase = class
interface IJsonRpcMessageHandler
interface IDisposableObservable
interface IDisposable
interface IAsyncDisposable
Public MustInherit Class MessageHandlerBase
Implements IDisposable, IDisposableObservable, IJsonRpcMessageHandler
Public MustInherit Class MessageHandlerBase
Implements IAsyncDisposable, IDisposable, IDisposableObservable, IJsonRpcMessageHandler
- Inheritance
-
MessageHandlerBase
- Derived
- Implements
Remarks
This class and its derivatives are safe to call from any thread. Calls to WriteAsync(JsonRpcMessage, CancellationToken) are protected by a semaphore to guarantee message integrity and may be made from any thread. The caller must take care to call ReadAsync(CancellationToken) sequentially.
Constructors
MessageHandlerBase(IJsonRpcMessageFormatter) |
Initializes a new instance of the MessageHandlerBase class. |
Properties
CanRead |
Gets a value indicating whether this message handler can receive messages. |
CanWrite |
Gets a value indicating whether this message handler can send messages. |
DisposalToken |
Gets a token that is canceled when this instance is disposed. |
Formatter |
Gets the formatter used for message serialization. |
Methods
Dispose() |
Obsolete.
Disposes this instance, and cancels any pending read or write operations. |
Dispose(Boolean) |
Disposes resources allocated by this instance that are common to both reading and writing. |
DisposeAsync() |
Disposes this instance, and cancels any pending read or write operations. |
DisposeReader() |
Disposes resources allocated by this instance that are used for reading (not writing). |
DisposeWriter() |
Disposes resources allocated by this instance that are used for writing (not reading). |
FlushAsync(CancellationToken) |
Ensures that all messages transmitted up to this point are en route to their destination, rather than sitting in some local buffer. |
ReadAsync(CancellationToken) |
Reads a distinct and complete message from the transport, waiting for one if necessary. |
ReadCoreAsync(CancellationToken) |
Reads a distinct and complete message, waiting for one if necessary. |
WriteAsync(JsonRpcMessage, CancellationToken) |
Writes a message to the transport and flushes. |
WriteCoreAsync(JsonRpcMessage, CancellationToken) |
Writes a message. |
Explicit Interface Implementations
IDisposableObservable.IsDisposed |
Gets a value indicating whether this instance has been disposed. |