Ejemplo n.º 1
0
            public PreallocatedChannelData()
            {
                receiver = new SocketAsyncEventArgs();
                sender   = new SocketAsyncEventArgs();

                receiverArgs = new DirectBytesReceivedEventArgs(receiver);
            }
Ejemplo n.º 2
0
        public ChannelWrapperTests(TaskClientConnector connector) : base(connector)
        {
            // init various things
            receiver = new SocketAsyncEventArgs();
            receiver.SetBuffer(receiveBuffer, 0, receiveBuffer.Length);
            receiverArgs = new DirectBytesReceivedEventArgs(receiver);

            sender = new SocketAsyncEventArgs();
            sender.SetBuffer(sendBuffer, 0, sendBuffer.Length);
            sendBufferWriter = new MemoryStream(sendBuffer, true);

            // establish a connection
            Task <Socket> task = connector.ConnectAsync();

            task.Wait(TimeSpan.FromSeconds(2));

            wrapper = new ChannelWrapperBase(task.Result, receiver, receiverArgs, sender, sendBufferWriter);

            WaitForServerConnections(1);

            // get the other end of the socket
            otherEnd = Connections[0];

            // set up event handlers
            wrapper.BytesReceived       += OnBytesReceived;
            wrapper.Closed              += OnClosed;
            wrapper.DuplexChannelClosed += OnDuplexChannelClosed;

            // start receive loop
            wrapper.Start();
        }
Ejemplo n.º 3
0
        private void AllocateCommunicationResources()
        {
            if (receiveBuffer != null)
            {
                return;
            }

            receiveBuffer = new byte[receiveBufferSize];
            sendBuffer    = new byte[sendBufferSize];

            receiver = new SocketAsyncEventArgs();
            sender   = new SocketAsyncEventArgs();
            receiver.SetBuffer(receiveBuffer, 0, receiveBuffer.Length);
            sender.SetBuffer(sendBuffer, 0, sendBuffer.Length);

            receiverArgs = new DirectBytesReceivedEventArgs(receiver);
            senderWriter = new MemoryStream(sendBuffer, true);
        }