public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); writer.WriteNetEndian(PacketThrottleInterval); writer.WriteNetEndian(PacketThrottleAcceleration); writer.WriteNetEndian(PacketThrottleDeceleration); }
public void TryReadFrom_ReturnsFalseWhenSentTimeIsNotPresent() { var packetWriter = new ENetPacketWriter(); packetWriter.WriteNetEndian((ushort)ENET_PROTOCOL_HEADER_FLAG_SENT_TIME); var packetReader = new ENetPacketReader(packetWriter.GetWrittenBuffer().Span); Assert.IsFalse(ENetProtocolHeader.TryReadFrom(ref packetReader, out var _)); }
public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); writer.WriteNetEndian(StartSequenceNumber); writer.WriteNetEndian(DataLength); writer.WriteNetEndian(FragmentCount); writer.WriteNetEndian(FragmentNumber); writer.WriteNetEndian(TotalLength); writer.WriteNetEndian(FragmentOffset); }
public void TryReadFrom_DoesNotReadSentTimeWhenFlagIsNotSet() { var packetWriter = new ENetPacketWriter(); packetWriter.WriteValue <ushort>(0); packetWriter.WriteValue <ushort>(0); var packetReader = new ENetPacketReader(packetWriter.GetWrittenBuffer().Span); Assert.IsTrue(ENetProtocolHeader.TryReadFrom(ref packetReader, out var header)); Assert.AreEqual(2, packetReader.Left.Length); }
public void TryReadFrom_ReadsSentTimeWhenFlagIsSet() { const ushort sentTime = 0b1100_1100_0011_1010; var packetWriter = new ENetPacketWriter(); packetWriter.WriteNetEndian((ushort)ENET_PROTOCOL_HEADER_FLAG_SENT_TIME); packetWriter.WriteNetEndian((ushort)sentTime); var packetReader = new ENetPacketReader(packetWriter.GetWrittenBuffer().Span); Assert.IsTrue(ENetProtocolHeader.TryReadFrom(ref packetReader, out var header)); Assert.AreEqual(sentTime, header.SentTime); }
public void WriteTo_DoesNotWriteSentWhenFlagIsNotSet() { var writeHeader = new ENetProtocolHeader() { Flags = 0, SentTime = 12031, }; var packetWriter = new ENetPacketWriter(); writeHeader.WriteTo(packetWriter); Assert.AreEqual(2, packetWriter.GetWrittenBuffer().Length); }
public readonly void WriteTo(ENetPacketWriter packetWriter) { int peerId = PeerId & ~(ENET_PROTOCOL_HEADER_FLAG_MASK | ENET_PROTOCOL_HEADER_SESSION_MASK); peerId |= (SessionId << ENET_PROTOCOL_HEADER_SESSION_SHIFT) & ENET_PROTOCOL_HEADER_SESSION_MASK; peerId |= Flags & ENET_PROTOCOL_HEADER_FLAG_MASK; packetWriter.WriteNetEndian(unchecked ((ushort)peerId)); if ((Flags & ENET_PROTOCOL_HEADER_FLAG_SENT_TIME) != 0) { packetWriter.WriteNetEndian(SentTime); } }
public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); writer.WriteNetEndian(OutgoingPeerID); writer.WriteByte(IncomingSessionID); writer.WriteByte(OutgoingSessionID); writer.WriteNetEndian(MTU); writer.WriteNetEndian(WindowSize); writer.WriteNetEndian(ChannelCount); writer.WriteNetEndian(IncomingBandwidth); writer.WriteNetEndian(OutgoingBandwidth); writer.WriteNetEndian(PacketThrottleInterval); writer.WriteNetEndian(PacketThrottleAcceleration); writer.WriteNetEndian(PacketThrottleDeceleration); writer.WriteNetEndian(ConnectID); }
public void WriteTo_WritesSentTimeWhenFlagIsSet() { var writeHeader = new ENetProtocolHeader() { Flags = ENET_PROTOCOL_HEADER_FLAG_SENT_TIME, SentTime = 123, }; var packetWriter = new ENetPacketWriter(); writeHeader.WriteTo(packetWriter); var packetReader = new ENetPacketReader(packetWriter.GetWrittenBuffer().Span); Assert.True(ENetProtocolHeader.TryReadFrom(ref packetReader, out var readHeader)); Assert.AreEqual(writeHeader.Flags, readHeader.Flags); Assert.AreEqual(writeHeader.SentTime, readHeader.SentTime); }
public void BasicReadWriteTest() { var writeHeader = new ENetProtocolHeader() { Flags = ENET_PROTOCOL_HEADER_FLAG_SENT_TIME | ENET_PROTOCOL_HEADER_FLAG_COMPRESSED, PeerId = 0b101010_010101, // 12bit SentTime = ushort.MaxValue, // 2byte SessionId = 0b11, // 2bit }; var packetWriter = new ENetPacketWriter(); writeHeader.WriteTo(packetWriter); var packetReader = new ENetPacketReader(packetWriter.GetWrittenBuffer().Span); Assert.IsTrue(ENetProtocolHeader.TryReadFrom(ref packetReader, out var readHeader)); Assert.AreEqual(writeHeader.Flags, readHeader.Flags); Assert.AreEqual(writeHeader.PeerId, readHeader.PeerId); Assert.AreEqual(writeHeader.SentTime, readHeader.SentTime); Assert.AreEqual(writeHeader.SessionId, readHeader.SessionId); }
public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); writer.WriteNetEndian(ReceivedReliableSequenceNumber); writer.WriteNetEndian(ReceivedSentTime); }
public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); writer.WriteNetEndian(UnreliableSequenceNumber); writer.WriteNetEndian(DataLength); }
public readonly void WriteTo(ENetPacketWriter writer) { writer.WriteByte(Command); writer.WriteByte(ChannelID); writer.WriteNetEndian(ReliableSequenceNumber); }
public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); writer.WriteNetEndian(IncomingBandwidth); writer.WriteNetEndian(OutgoingBandwidth); }
public void Setup() { binaryWriter = new(); }
public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); writer.WriteNetEndian(DataLength); }
public readonly void WriteTo(ENetPacketWriter writer) { Header.WriteTo(writer); }