bool ReadStateUpdatePacketHeader(byte[] packetData, out Network.PacketHeader packetHeader) { Profiler.BeginSample("ReadStateUpdatePacketHeader"); readStream.Start(packetData); bool result = true; try { packetSerializer.ReadStateUpdatePacketHeader(readStream, out packetHeader); } catch (Network.SerializeException) { Debug.Log("error: failed to read state update packet header"); packetHeader.sequence = 0; packetHeader.ack = 0; packetHeader.ack_bits = 0; packetHeader.frameNumber = 0; packetHeader.resetSequence = 0; packetHeader.avatarSampleTimeOffset = 0.0f; result = false; } readStream.Finish(); Profiler.EndSample(); return(result); }
protected bool ReadServerInfoPacket( byte[] packetData, bool[] clientConnected, ulong[] clientUserId, string[] clientUserName ) { Profiler.BeginSample( "ReadServerInfoPacket" ); readStream.Start( packetData ); bool result = true; try { packetSerializer.ReadServerInfoPacket( readStream, clientConnected, clientUserId, clientUserName ); } catch ( Network.SerializeException ) { Debug.Log( "error: failed to read server info packet" ); result = false; } readStream.Finish(); Profiler.EndSample(); return result; }
protected bool ReadGameEventPacket( byte[] packetData, ref PacketSerializer.GameEvent eventType, ref ushort senderId, ref ushort targetId, ref ushort[] perClientData ) { Profiler.BeginSample("ReadGameEventPacket"); readStream.Start(packetData); bool result = true; try { packetSerializer.ReadGameEventPacket(readStream, ref eventType, ref senderId, ref targetId, ref perClientData); } catch (Network.SerializeException) { Debug.Log("error: failed to read server info packet"); result = false; } readStream.Finish(); Profiler.EndSample(); return result; }
static void test_serialization() { Debug.Log("test_serialization"); const int MaxPacketSize = 1024; var serializer = new TestSerializer(); var buffer = new uint[MaxPacketSize / 4]; var writeStream = new Network.WriteStream(); writeStream.Start(buffer); TestStruct input; input.bool_value = true; input.int_value = -5; input.uint_value = 215; input.bits_value = 12345; serializer.WriteTestStruct(writeStream, ref input); writeStream.Finish(); byte[] packet = writeStream.GetData(); var readStream = new Network.ReadStream(); readStream.Start(packet); TestStruct output; serializer.ReadTestStruct(readStream, out output); readStream.Finish(); Assert.AreEqual(input.bool_value, output.bool_value); Assert.AreEqual(input.int_value, output.int_value); Assert.AreEqual(input.uint_value, output.uint_value); Assert.AreEqual(input.bits_value, output.bits_value); }
protected bool ReadStateUpdatePacket(byte[] packetData, ref byte isAvatar, ref int objNum, ref bool shotLight, ref int potionNum, ref bool hasParent, ref State cubeState) { readStream.Start(packetData); bool result = true; try { packetSerializer.ReadHeader(readStream, ref isAvatar, ref objNum, ref shotLight, ref potionNum, ref hasParent, ref cubeState); } catch (Network.SerializeException) { Debug.Log("error: failed to read state update packet"); result = false; } readStream.Finish(); return(result); }