public ConnectionToken(ISocketDecorator socket, ISocketAsyncEventArgsDecorator socketEvent)
        {
            if (socket == null)
                throw new ArgumentNullException("socket");

            if (socketEvent == null)
                throw new ArgumentNullException("socketEvent");

            this.socket = socket;
            this.socketEvent = socketEvent;
        }
 public bool ReceiveAsync(ISocketAsyncEventArgsDecorator socketEvent)
 {
     return socket.ReceiveAsync(socketEvent.SocketAsyncEventArgs);
 }
 public bool SendAsync(ISocketAsyncEventArgsDecorator socketEvent)
 {
     return socket.SendAsync(socketEvent.SocketAsyncEventArgs);
 }
 public bool ConnectAsync(ISocketAsyncEventArgsDecorator socketEvent)
 {
     return socket.ConnectAsync(socketEvent.SocketAsyncEventArgs);
 }