public async Task Send(string json) { _streamSemaphore.WaitOne(); var buffer = Encoding.UTF8.GetBytes(json); var header = Encoding.ASCII.GetBytes(OutgoingMessageSerializer.Header(buffer.Length)); await _stream.WriteAsync(header, 0, header.Length, _cancellationToken); await _stream.WriteAsync(buffer, 0, buffer.Length, _cancellationToken); _streamSemaphore.Release(); }
public async Task Respond(string id, string json) { await Send(OutgoingMessageSerializer.Response(id, json)).ConfigureAwait(false); }
public Task WriteFile(string filename, string content, string artifactType, Mapping[] sourceMap) => _connection.Notification(OutgoingMessageSerializer.WriteFile(_sessionId, filename, content, artifactType, sourceMap));
public Task Message(IMessage message) => _connection.Notification(OutgoingMessageSerializer.Message(_sessionId, message));
public Task <string> ProtectFiles(string path) => ProcessRequest <string>(requestId => OutgoingMessageSerializer.ProtectFiles(requestId, _sessionId, path));
public Task <string[]> ListInputs(string?artifactType = null) => ProcessRequest <string[]>(requestId => OutgoingMessageSerializer.ListInputs(requestId, _sessionId, artifactType));
public Task <T> GetValue <T>(string key) => ProcessRequest <T>(requestId => OutgoingMessageSerializer.GetValue(requestId, _sessionId, key));
// Basic Interfaces public Task <string> ReadFile(string filename) => ProcessRequest <string>(requestId => OutgoingMessageSerializer.ReadFile(requestId, _sessionId, filename));