private async Task DedicatedSocketTask()
{
while (_disposeToken.IsCancellationRequested == false)
{
//block here until we can get connections then start loop pushing data through network stream
try
{
var netStreamTask = GetStreamAsync();
await Task.WhenAny(_disposeTask, netStreamTask).ConfigureAwait(false);
if (_disposeToken.IsCancellationRequested)
{
SetExceptionToAllPendingTasks(new ObjectDisposedException(string.Format("Object is disposing (KafkaTcpSocket for endpoint: {0})", Endpoint)));
RaiseServerDisconnectedEvent();
return;
}
var netStream = await netStreamTask.ConfigureAwait(false);
await ProcessNetworkstreamTasks(netStream).ConfigureAwait(false);
}
catch (Exception ex)
{
SetExceptionToAllPendingTasks(ex);
RaiseServerDisconnectedEvent();
}
}
}
private void RaiseServerDisconnectedEvent()