Ejemplo n.º 1
0
//		void ISocket.SendQueuedPackets()
//		{
//		}

        void ISocket.AsyncSend(byte[] data, int offset, int size, SocketSendCallback callback, object state)
        {
            byte[] array = LegacyNetBufferPool.RequestBuffer(data, offset, size);
            this._connection.GetStream().BeginWrite(array, 0, size, new AsyncCallback(this.SendCallback), new object[]
            {
                new Tuple <SocketSendCallback, object>(callback, state),
                array
            });
        }
Ejemplo n.º 2
0
        private void SendCallback(IAsyncResult result)
        {
            object[] expr_0B = (object[])result.AsyncState;
            LegacyNetBufferPool.ReturnBuffer((byte[])expr_0B[1]);
            Tuple <SocketSendCallback, object> tuple = (Tuple <SocketSendCallback, object>)expr_0B[0];

            try
            {
                this._connection.GetStream().EndWrite(result);
                tuple.Item1(tuple.Item2);
            }
            catch (Exception)
            {
                ((ISocket)this).Close();
            }
        }