Lidgren.Network.NetConnection.HandleConnectResponse C# (CSharp) Method

HandleConnectResponse() private method

private HandleConnectResponse ( double now, NetMessageType tp, int ptr, int payloadLength ) : void
now double
tp NetMessageType
ptr int
payloadLength int
return void
        private void HandleConnectResponse(double now, NetMessageType tp, int ptr, int payloadLength)
        {
            byte[] hail;
            switch (m_status)
            {
                case NetConnectionStatus.InitiatedConnect:
                    // awesome
                    bool ok = ValidateHandshakeData(ptr, payloadLength, out hail);
                    if (ok)
                    {
                        if (hail != null)
                        {
                            m_remoteHailMessage = m_peer.CreateIncomingMessage(NetIncomingMessageType.Data, hail);
                            m_remoteHailMessage.LengthBits = (hail.Length * 8);
                        }
                        else
                        {
                            m_remoteHailMessage = null;
                        }

                        m_peer.AcceptConnection(this);
                        SendConnectionEstablished();
                        return;
                    }
                    break;
                case NetConnectionStatus.RespondedConnect:
                    // hello, wtf?
                    break;
                case NetConnectionStatus.Disconnecting:
                case NetConnectionStatus.Disconnected:
                case NetConnectionStatus.ReceivedInitiation:
                case NetConnectionStatus.None:
                    // wtf? anyway, bye!
                    break;
                case NetConnectionStatus.Connected:
                    // my ConnectionEstablished must have been lost, send another one
                    SendConnectionEstablished();
                    return;
            }
        }