Ejemplo n.º 1
0
        public async Task EnableEventsAsync(IEnumerable <EnableEventsRequest> requests)
        {
            await _writeLock.WaitAsync();

            try
            {
                EventPipeProtocol.WriteMessage(new EnableEventsMessage(requests.ToList()), _pipe.Output);
                await _pipe.Output.FlushAsync();
            }
            finally
            {
                _writeLock.Release();
            }
        }
Ejemplo n.º 2
0
 private async Task WriteLoop(PipeWriter writer, CancellationToken cancellationToken)
 {
     try
     {
         while (await _listener.Messages.WaitToReadAsync(cancellationToken))
         {
             while (!cancellationToken.IsCancellationRequested && _listener.Messages.TryRead(out var message))
             {
                 EventPipeProtocol.WriteMessage(message, writer);
             }
             await writer.FlushAsync();
         }
     }
     catch (OperationCanceledException)
     {
         // No-op, we're just shutting down.
     }
 }