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); } }
private void RouteMessage(MessageEventArgs args) { TempestMessage tempestMessage = args.Message as TempestMessage; if (tempestMessage != null) { OnTempestMessage(args); } else { OnMessageReceived(args); if (args.Message.Header.IsResponse) { this.responses.Value.Receive(args.Message); } } }
private void OnConnectionlessTempestMessage(TempestMessage tempestMessage, Target target) { OnTempestMessage(new MessageEventArgs(this, tempestMessage)); }
protected override void OnConnectionlessTempestMessage(TempestMessage tempestMessage, Target target) { this.connection.OnConnectionlessTempestMessage(tempestMessage, target); }
protected virtual void OnConnectionlessTempestMessage(TempestMessage tempestMessage, Target target) { }