Griffin.Net.Channels.TcpChannel.Send C# (CSharp) Method

Send() public method

Send a new message

Outbound messages are enqueued and sent in order.

You may enqueue byte[] arrays or Stream objects. They will not be serialized but MicroMessage framed directly.

public Send ( object message ) : void
message object Message to send
return void
        public void Send(object message)
        {
            if (_socket == null || !_socket.Connected)
                throw new SocketException((int)SocketError.NotConnected);

            _sendLock.Wait();
            _messagePendingSendOperation = message;
            _encoder.Prepare(message);
            _encoder.Send(_writeArgsWrapper);
            var isPending = _socket.SendAsync(_writeArgs);
            if (!isPending)
                OnSendCompleted(this, _writeArgs);
        }

Usage Example

        public void send_message()
        {
            var slice = new BufferSlice(new byte[65535], 0, 65535);
            var encoder = new FakeEncoder();
            var decoder = new FakeDecoder();
            object expected = null;

            var sut = new TcpChannel(slice, encoder, decoder);
            sut.MessageReceived += (channel, message) => expected = message;
            sut.Assign(_helper.Client);
            sut.Send("Hello world");

            
        }
All Usage Examples Of Griffin.Net.Channels.TcpChannel::Send