public void BeginHandling() { skt.NoDelay = Settings.NETWORKING.DISABLE_NAGLES_ALGORITHM; skt.UseOnlyOverlappedIO = true; _incoming = new SocketAsyncEventArgs(); _incoming.Completed += IncomingCompleted; _incoming.UserToken = new OutgoingToken(); // target token _incoming.SetBuffer(_incomingBuff = new byte[BUFFER_SIZE], 0, BUFFER_SIZE); _outgoing = new SocketAsyncEventArgs(); _outgoing.Completed += OutgoingCompleted; _outgoing.UserToken = new IncomingToken(); // target token _outgoing.SetBuffer(_outgoingBuff = new byte[BUFFER_SIZE], 0, BUFFER_SIZE); _outgoingState = OutgoingState.ReceivingHdr; _outgoing.SetBuffer(0, 5); if (!skt.ReceiveAsync(_outgoing)) { OutgoingCompleted(this, _outgoing); } }
public OutgoingMessageToSendWithState(OutgoingMessageToSend message, OutgoingState state) { Message = message; State = state; }
public OutgoingMessageToStoreWithState(OutgoingMessageToStore message, OutgoingState state) { Message = message; State = state; }