Ejemplo n.º 1
0
        private static void SendCompleteCallback(OwinSocket sck, int status, Exception ex, object state)
        {
            if (state == null)
            {
                sck.Dispose();
                return;
            }
            RequestData requestData = (RequestData)state;

            byte[] preLoadedBody = requestData._preLoadedBody;
            bool   flag          = requestData.IsKeepAlive();

            requestData.SaveToPoll();
            if (status != 0 || ex != null || !flag)
            {
                sck.Dispose();
                return;
            }
            OwinHttpWorkerManage.Start(sck, preLoadedBody);
        }
Ejemplo n.º 2
0
            private void CompilteCallback(OwinSocket sck, int status, Exception ex, object state)
            {
                if (status != 0 || ex != null)
                {
                    _fs.Close();
                    sck.Dispose();
                    _req.SaveToPoll();
                    return;
                }
                if (_offsetSize <= 0)
                {
                    _fs.Close();
                    if (_req.IsKeepAlive())
                    {
                        OwinHttpWorkerManage.Start(sck, _req._preLoadedBody);
                    }
                    else
                    {
                        sck.Dispose();
                    }
                    _req.SaveToPoll();
                    _req = null;
                    return;
                }
                long num2 = _offsetSize;

                if (num2 > 65536)
                {
                    num2 = 65536;
                }
                byte[] array = new byte[num2];
                _fs.Seek(_sendedSize, SeekOrigin.Begin);
                checked
                {
                    _fs.Read(array, 0, (int)num2);
                    _sendedSize += num2;
                    _offsetSize -= num2;
                    sck.Write(array, new Action <OwinSocket, int, Exception, object>(CompilteCallback), null);
                }
            }