public LanguageServerJsonRpc(Stream sendingStream, Stream receivingStream, IJsonRpcMessageFormatter formatter, object target) : base(new HeaderDelimitedMessageHandler(sendingStream, receivingStream, formatter), target) { }
/// <summary> /// Initializes a new instance of the <see cref="PipeMessageHandler"/> class. /// </summary> /// <param name="pipe">The reader and writer to use for receiving/transmitting messages.</param> /// <param name="formatter">The formatter used to serialize messages.</param> public PipeMessageHandler(IDuplexPipe pipe, IJsonRpcMessageFormatter formatter) : this(Requires.NotNull(pipe, nameof(pipe)).Output, Requires.NotNull(pipe, nameof(pipe)).Input, formatter) { }
/// <summary> /// Initializes a new instance of the <see cref="PipeMessageHandler"/> class. /// </summary> /// <param name="writer">The writer to use for transmitting messages.</param> /// <param name="reader">The reader to use for receiving messages.</param> /// <param name="formatter">The formatter used to serialize messages.</param> public PipeMessageHandler(PipeWriter writer, PipeReader reader, IJsonRpcMessageFormatter formatter) : base(formatter) { this.Reader = reader; this.Writer = writer; }
/// <summary> /// Initializes a new instance of the <see cref="LengthHeaderMessageHandler"/> class. /// </summary> /// <param name="writer">The writer to use for transmitting messages.</param> /// <param name="reader">The reader to use for receiving messages.</param> /// <param name="formatter">The formatter to use for message serialization.</param> public LengthHeaderMessageHandler(PipeWriter?writer, PipeReader?reader, IJsonRpcMessageFormatter formatter) : base(writer, reader, formatter) { Requires.NotNull(formatter, nameof(formatter)); this.formatter = formatter; }
/// <summary> /// Initializes a new instance of the <see cref="LengthHeaderMessageHandler"/> class. /// </summary> /// <param name="sendingStream">The stream to use for transmitting messages.</param> /// <param name="receivingStream">The stream to use for receiving messages.</param> /// <param name="formatter">The formatter to use to serialize <see cref="JsonRpcMessage"/> instances.</param> public LengthHeaderMessageHandler(Stream?sendingStream, Stream?receivingStream, IJsonRpcMessageFormatter formatter) : base(sendingStream, receivingStream, formatter) { Requires.NotNull(formatter, nameof(formatter)); this.formatter = formatter; }
/// <summary> /// Initializes a new instance of the <see cref="HttpClientMessageHandler"/> class. /// </summary> /// <param name="httpClient">The <see cref="HttpClient"/> to use for transmitting JSON-RPC requests.</param> /// <param name="requestUri">The URI to POST to where the entity will be the JSON-RPC message.</param> /// <param name="formatter">The message formatter.</param> public HttpClientMessageHandler(HttpClient httpClient, Uri requestUri, IJsonRpcMessageFormatter formatter) { this.httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); this.requestUri = requestUri ?? throw new ArgumentNullException(nameof(requestUri)); this.Formatter = formatter ?? throw new ArgumentNullException(nameof(formatter)); }
/// <summary> /// Initializes a new instance of the <see cref="LengthHeaderMessageHandler"/> class. /// </summary> /// <param name="pipe">The reader and writer to use for receiving/transmitting messages.</param> /// <param name="formatter">The formatter to use for message serialization.</param> public LengthHeaderMessageHandler(IDuplexPipe pipe, IJsonRpcMessageFormatter formatter) : base(pipe, formatter) { Requires.NotNull(formatter, nameof(formatter)); this.formatter = formatter; }
/// <summary> /// Initializes a new instance of the <see cref="HeaderDelimitedMessageHandler"/> class. /// </summary> /// <param name="pipe">The duplex pipe to use for exchanging messages.</param> /// <param name="formatter">The formatter to use to serialize <see cref="JsonRpcMessage"/> instances.</param> public HeaderDelimitedMessageHandler(IDuplexPipe pipe, IJsonRpcMessageFormatter formatter) : this(pipe.Output, pipe.Input, formatter) { }
/// <summary> /// Initializes a new instance of the <see cref="HeaderDelimitedMessageHandler"/> class. /// </summary> /// <param name="duplexStream">The stream to use for exchanging messages.</param> /// <param name="formatter">The formatter to use to serialize <see cref="JsonRpcMessage"/> instances.</param> public HeaderDelimitedMessageHandler(Stream duplexStream, IJsonRpcMessageFormatter formatter) : this(duplexStream, duplexStream, formatter) { }
/// <summary> /// Initializes a new instance of the <see cref="HeaderDelimitedMessageHandler"/> class. /// </summary> /// <param name="writer">The writer to use for transmitting messages.</param> /// <param name="reader">The reader to use for receiving messages.</param> /// <param name="formatter">The formatter to use to serialize <see cref="JsonRpcMessage"/> instances.</param> public HeaderDelimitedMessageHandler(PipeWriter writer, PipeReader reader, IJsonRpcMessageFormatter formatter) : base(writer, reader, formatter) { }
/// <summary> /// Initializes a new instance of the <see cref="HeaderDelimitedMessageHandler"/> class. /// </summary> /// <param name="sendingStream">The stream to use for transmitting messages.</param> /// <param name="receivingStream">The stream to use for receiving messages.</param> /// <param name="formatter">The formatter to use to serialize <see cref="JsonRpcMessage"/> instances.</param> public HeaderDelimitedMessageHandler(Stream sendingStream, Stream receivingStream, IJsonRpcMessageFormatter formatter) : base(sendingStream, receivingStream, formatter) { }
public MyStreamMessageHandler(Stream?sendingStream, Stream?receivingStream, IJsonRpcMessageFormatter formatter) : base(sendingStream, receivingStream, formatter) { }
public DelayedWriter(Stream sendingStream, Stream receivingStream, IJsonRpcMessageFormatter formatter) : base(sendingStream, receivingStream, formatter) { }
/// <summary> /// Initializes a new instance of the <see cref="MessageHandlerBase"/> class. /// </summary> /// <param name="formatter">The formatter used to serialize messages.</param> public MessageHandlerBase(IJsonRpcMessageFormatter formatter) { Requires.NotNull(formatter, nameof(formatter)); this.Formatter = formatter; }