public ModifiableProtocol(IPacketEncryptor encryptor=null, IPacketDecryptor decryptor=null, IPacketEncoder encoder=null, IPacketDecoder decoder=null) { _encryptor = encryptor; _decryptor = decryptor; _encoder = encoder; _decoder = decoder; }
public OutgoingServerChannel( NetworkTransportConfig config, ServerUdpPacketTransport transport, IPacketEncryptor packetEncryption, ILogger logger) { this._config = config ?? throw new ArgumentNullException(nameof(config)); this._transport = transport ?? throw new ArgumentNullException(nameof(transport)); this._packetEncryption = packetEncryption ?? throw new ArgumentNullException(nameof(packetEncryption)); this._logger = logger ?? throw new ArgumentNullException(nameof(logger)); this._clientEntitiesToRemove = new AppendOnlyList <Entity>(64); }
public ClientUdpPacketTransport( ILogger logger, IPacketEncryptor packetEncryption, NetworkTransportConfig transportConfig, IPEndPoint remoteEndPoint) { this._packetEncryption = packetEncryption ?? throw new ArgumentNullException(nameof(packetEncryption)); this._remoteEndPoint = remoteEndPoint; this._receiveBuffer = new ReceiveBuffer(transportConfig.MaxPacketSize, transportConfig.ReceivePacketQueueCapacity); this._socket = new ClientUdpSocket(logger, this._receiveBuffer); this._packetSerializationBytePool = new ByteArrayPool(transportConfig.MaxPacketSize, transportConfig.SendPacketQueueCapacity); }
public IncomingServerChannel( ServerUdpPacketTransport transport, IPacketEncryptor packetEncryption, ControlPlaneServerController controlPacketController, SimulationServerController simulationPacketController, ILogger logger) { this._isRunning = false; this._transport = transport ?? throw new ArgumentNullException(nameof(transport)); this._packetEncryption = packetEncryption ?? throw new ArgumentNullException(nameof(packetEncryption)); this._controlPacketController = controlPacketController ?? throw new ArgumentNullException(nameof(controlPacketController)); this._simulationPacketController = simulationPacketController ?? throw new ArgumentNullException(nameof(simulationPacketController)); this._logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public ServerUdpPacketTransport( ILogger logger, IPacketEncryptor packetEncryption, NetworkTransportConfig transportConfig, UdpServerConfig udpServerConfig) { this._logger = logger ?? throw new ArgumentNullException(nameof(logger)); this._packetEncryption = packetEncryption ?? throw new ArgumentNullException(nameof(packetEncryption)); this._endPoint = udpServerConfig.HostIpEndPoint; this._receiveBuffer = new ReceiveBuffer(transportConfig.MaxPacketSize, transportConfig.ReceivePacketQueueCapacity); this._udpSocket = new ServerUdpSocket(logger, this._receiveBuffer); this._packetSerializationBytePool = new ByteArrayPool(transportConfig.MaxPacketSize, transportConfig.SendPacketQueueCapacity); }
public int Serialize(Stream stream, IPacketEncryptor packetEncryption) { int size = stream.PacketWriteByte((byte)this.Type); size += stream.PacketWriteInt(this.PlayerId); switch (this.Type) { case ClientPacketType.PlayerInput: return(size + this.PlayerInputPacket.Serialize(stream)); case ClientPacketType.ControlPlane: return(size + this.ControlPacket.Serialize(stream)); } return(-1); }
public int Serialize(Stream stream, IPacketEncryptor packetEncryption) { int size = stream.PacketWriteByte((byte)this.Type); size += stream.PacketWriteInt(this.PlayerId); switch (this.Type) { case ServerPacketType.Replication: return(size + this.ReplicationPacket.Serialize(stream)); case ServerPacketType.Control: return(size + this.ControlPacket.Serialize(stream)); } return(-1); }
public bool Deserialize(Stream stream, IPacketEncryptor packetEncryption) { byte typeAsByte; stream.PacketReadByte(out typeAsByte); this.Type = (ClientPacketType)typeAsByte; int playerId; stream.PacketReadInt(out playerId); this.PlayerId = new PlayerId(playerId); switch (this.Type) { case ClientPacketType.PlayerInput: return(this.PlayerInputPacket.Deserialize(stream)); case ClientPacketType.ControlPlane: return(this.ControlPacket.Deserialize(stream)); } return(false); }
public bool Deserialize(Stream stream, IPacketEncryptor packetEncryption) { byte typeAsByte; stream.PacketReadByte(out typeAsByte); this.Type = (ServerPacketType)typeAsByte; int playerId; stream.PacketReadInt(out playerId); this.PlayerId = new PlayerId(playerId); switch (this.Type) { case ServerPacketType.Replication: return(this.ReplicationPacket.Deserialize(stream)); case ServerPacketType.Control: return(this.ControlPacket.Deserialize(stream)); } return(false); }
public IPacketEncryptor SetEncryptor(IPacketEncryptor encryptor) { _encryptor = encryptor; return _encryptor; }