protected override void OnConnectionlessTempestMessage(TempestMessage tempestMessage, Target target) { ConnectMessage connect = tempestMessage as ConnectMessage; if (connect != null) { UdpServerConnection connection; if (this.authKey != null) { connection = new UdpServerConnection(GetConnectionId(), target.ToEndPoint(), this, new RSACrypto(), this.crypto, this.authKey); } else { connection = new UdpServerConnection(GetConnectionId(), target.ToEndPoint(), this); } if (!this.connections.TryAdd(connection.ConnectionId, connection)) { throw new InvalidOperationException("Reused connection ID"); } connection.Receive(connect); } else { base.OnConnectionlessTempestMessage(tempestMessage, target); } }
internal void Connect(UdpServerConnection connection) { var args = new ConnectionMadeEventArgs(connection, connection.RemoteKey); OnConnectionMade(args); if (args.Rejected) { connection.Dispose(); } }
protected override void OnConnectionlessTempestMessage(TempestMessage tempestMessage, Target target) { ConnectMessage connect = tempestMessage as ConnectMessage; if (connect != null) { UdpServerConnection connection; if (this.authKey != null) connection = new UdpServerConnection (GetConnectionId(), target.ToEndPoint(), this, new RSACrypto(), this.crypto, this.authKey); else connection = new UdpServerConnection (GetConnectionId(), target.ToEndPoint(), this); if (!this.connections.TryAdd (connection.ConnectionId, connection)) throw new InvalidOperationException ("Reused connection ID"); connection.Receive (connect); } else base.OnConnectionlessTempestMessage (tempestMessage, target); }
internal void Disconnect(UdpServerConnection connection) { UdpServerConnection o; this.connections.TryRemove (connection.ConnectionId, out o); }
internal void Connect(UdpServerConnection connection) { var args = new ConnectionMadeEventArgs (connection, connection.RemoteKey); OnConnectionMade (args); if (args.Rejected) connection.Dispose(); }
internal void Disconnect(UdpServerConnection connection) { UdpServerConnection o; this.connections.TryRemove(connection.ConnectionId, out o); }