in src/Azure.AppService.Tunnel/Tunnel/WebSockets/WebSocketConnection.cs [47:72]
public Task Start()
{
return Task.Run(async () =>
{
_logger.Info("Begin processing messages");
_asyncWritesProcessor.BeginProcessing();
var receiveBuffer = new byte[16384];
try
{
while (_lifetime.IsAlive)
{
var message = await ReceiveMessage(receiveBuffer);
var shouldContinueProcessing = await ProcessMessage(message);
if (!shouldContinueProcessing) break;
}
}
catch (Exception ex) when (ex is not OperationCanceledException && ex is not ObjectDisposedException)
{
_logger.Error(ex);
throw;
}
}, _lifetime);
}