private void EnterStateListening() { CloseReason = ConnectionClosedReason.None; State = ConnectionState.Listening; if (BehaviorSet(ConnectionBehavior.GenerateOutgoingHandshakes)) { Connection.Enqueue(HandshakePayload.Generate(State, false)); } Behavior = ConnectionBehavior.HandleIncomingHandshakesOnly; }
private void EnterStateClosed(ConnectionClosedReason reason) { CloseReason = reason; State = ConnectionState.Closed; if (BehaviorSet(ConnectionBehavior.GenerateOutgoingHandshakes)) { // If we have just come from a state where handshakes are required, then we should notify the endpoint that we are closing. Connection.Enqueue(HandshakePayload.Generate(State, false)); } Behavior = ConnectionBehavior.None; }
private void EnqueueHandshake(bool ackRequired) { HandshakeSentMarker.Mark(); Connection.Enqueue(HandshakePayload.Generate(State, ackRequired)); }