Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        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);
                }
            }
        }