Beispiel #1
0
        private void Dtls_OnIncomingHandshakeStarted(object Sender, RemoteEndpointEventArgs e)
        {
            IPEndPoint EP = (IPEndPoint)e.RemoteEndpoint;

            if (!this.dtlsStates.TryGetValue(EP, out DtlsOverUdpState State))
            {
                State = new DtlsOverUdpState()
                {
                    RemoteEndpoint = EP,
                    Queue          = new LinkedList <Tuple <byte[], UdpTransmissionEventHandler, object> >(),
                    CurrentState   = DtlsState.Handshake
                };

                this.dtlsStates.Add(EP, State);
            }
        }
Beispiel #2
0
        private void Dtls_OnHandshakeSuccessful(object sender, RemoteEndpointEventArgs e)
        {
            IPEndPoint EP = (IPEndPoint)e.RemoteEndpoint;

            if (this.dtlsStates.TryGetValue(EP, out DtlsOverUdpState State))
            {
                State.Done(this, true);
            }
            else
            {
                State = new DtlsOverUdpState()
                {
                    RemoteEndpoint = EP,
                    Queue          = new LinkedList <Tuple <byte[], UdpTransmissionEventHandler, object> >(),
                    CurrentState   = DtlsState.SessionEstablished
                };

                this.dtlsStates.Add(EP, State);
            }
        }