コード例 #1
0
        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();
        }
コード例 #2
0
 public async Task Respond(string id, string json)
 {
     await Send(OutgoingMessageSerializer.Response(id, json)).ConfigureAwait(false);
 }
コード例 #3
0
 public Task WriteFile(string filename, string content, string artifactType, Mapping[] sourceMap) =>
 _connection.Notification(OutgoingMessageSerializer.WriteFile(_sessionId, filename, content, artifactType, sourceMap));
コード例 #4
0
 public Task Message(IMessage message) => _connection.Notification(OutgoingMessageSerializer.Message(_sessionId, message));
コード例 #5
0
 public Task <string> ProtectFiles(string path) => ProcessRequest <string>(requestId => OutgoingMessageSerializer.ProtectFiles(requestId, _sessionId, path));
コード例 #6
0
 public Task <string[]> ListInputs(string?artifactType = null) => ProcessRequest <string[]>(requestId => OutgoingMessageSerializer.ListInputs(requestId, _sessionId, artifactType));
コード例 #7
0
 public Task <T> GetValue <T>(string key) => ProcessRequest <T>(requestId => OutgoingMessageSerializer.GetValue(requestId, _sessionId, key));
コード例 #8
0
 // Basic Interfaces
 public Task <string> ReadFile(string filename) => ProcessRequest <string>(requestId => OutgoingMessageSerializer.ReadFile(requestId, _sessionId, filename));