private async void checkAsyncTimeOut() { while (true) { int timeSleep = 1; try { int c1 = checkTokenTimeOut(); int c2 = checkAsynTokenTimeOut(); timeSleep = c1 + c2; } catch (Exception er) { var b = ExceptionOut?.Invoke(er); if (b is null) { Log.Error($"ERROR:\r\n{er.ToString()}"); } else if (b.Value) { Log.Error($"ERROR:\r\n{er.ToString()}"); } } finally { await Task.Delay(timeSleep); } } }
private void BinaryInputOffsetHandler(byte[] data, int offset, int count, SocketAsyncEventArgs socketAsync) { try { if (socketAsync.UserToken is ASyncToken tmp) { tmp.Write(data, offset, count); } else { ZYNetRingBufferPool stream; if (socketAsync.UserToken != null) { stream = socketAsync.UserToken as ZYNetRingBufferPool; } else { stream = new ZYNetRingBufferPool(MaxPacksize); socketAsync.UserToken = stream; } stream.Write(data, offset, count); if (stream.Read(out byte[] pdata)) { DataOn(pdata, socketAsync, stream); } } } catch (Exception er) { var b = ExceptionOut?.Invoke(er); if (b is null) { Log.Error(er.Message, er); } else if (b.Value) { Log.Error(er.Message, er); } } }