public static void SerializeDelta(Stream stream, ProtoBuf.Environment instance, ProtoBuf.Environment previous) { MemoryStream memoryStream = Pool.Get <MemoryStream>(); stream.WriteByte(8); ProtocolParser.WriteUInt64(stream, (ulong)instance.dateTime); if (instance.clouds != previous.clouds) { stream.WriteByte(21); ProtocolParser.WriteSingle(stream, instance.clouds); } if (instance.fog != previous.fog) { stream.WriteByte(29); ProtocolParser.WriteSingle(stream, instance.fog); } if (instance.wind != previous.wind) { stream.WriteByte(37); ProtocolParser.WriteSingle(stream, instance.wind); } if (instance.rain != previous.rain) { stream.WriteByte(45); ProtocolParser.WriteSingle(stream, instance.rain); } if (instance.engineTime != previous.engineTime) { stream.WriteByte(53); ProtocolParser.WriteSingle(stream, instance.engineTime); } Pool.FreeMemoryStream(ref memoryStream); }
public static ProtoBuf.Environment Deserialize(byte[] buffer, ProtoBuf.Environment instance, bool isDelta = false) { using (MemoryStream memoryStream = new MemoryStream(buffer)) { ProtoBuf.Environment.Deserialize(memoryStream, instance, isDelta); } return(instance); }
public static ProtoBuf.Environment DeserializeLengthDelimited(Stream stream, ProtoBuf.Environment instance, bool isDelta) { long position = (long)ProtocolParser.ReadUInt32(stream); position += stream.Position; while (stream.Position < position) { int num = stream.ReadByte(); if (num == -1) { throw new EndOfStreamException(); } if (num <= 29) { if (num == 8) { instance.dateTime = (long)ProtocolParser.ReadUInt64(stream); continue; } else if (num == 21) { instance.clouds = ProtocolParser.ReadSingle(stream); continue; } else if (num == 29) { instance.fog = ProtocolParser.ReadSingle(stream); continue; } } else if (num == 37) { instance.wind = ProtocolParser.ReadSingle(stream); continue; } else if (num == 45) { instance.rain = ProtocolParser.ReadSingle(stream); continue; } else if (num == 53) { instance.engineTime = ProtocolParser.ReadSingle(stream); continue; } Key key = ProtocolParser.ReadKey((byte)num, stream); if (key.Field == 0) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } if (stream.Position != position) { throw new ProtocolBufferException("Read past max limit"); } return(instance); }
public static ProtoBuf.Environment Deserialize(byte[] buffer) { ProtoBuf.Environment environment = Pool.Get <ProtoBuf.Environment>(); using (MemoryStream memoryStream = new MemoryStream(buffer)) { ProtoBuf.Environment.Deserialize(memoryStream, environment, false); } return(environment); }
public void CopyTo(ProtoBuf.Environment instance) { instance.dateTime = this.dateTime; instance.clouds = this.clouds; instance.fog = this.fog; instance.wind = this.wind; instance.rain = this.rain; instance.engineTime = this.engineTime; }
public virtual void WriteToStreamDelta(Stream stream, ProtoBuf.Environment previous) { if (previous == null) { ProtoBuf.Environment.Serialize(stream, this); return; } ProtoBuf.Environment.SerializeDelta(stream, this, previous); }
public static byte[] SerializeToBytes(ProtoBuf.Environment instance) { byte[] array; using (MemoryStream memoryStream = new MemoryStream()) { ProtoBuf.Environment.Serialize(memoryStream, instance); array = memoryStream.ToArray(); } return(array); }
public static ProtoBuf.Environment Deserialize(Stream stream, ProtoBuf.Environment instance, bool isDelta) { while (true) { int num = stream.ReadByte(); if (num == -1) { break; } if (num <= 29) { if (num == 8) { instance.dateTime = (long)ProtocolParser.ReadUInt64(stream); continue; } else if (num == 21) { instance.clouds = ProtocolParser.ReadSingle(stream); continue; } else if (num == 29) { instance.fog = ProtocolParser.ReadSingle(stream); continue; } } else if (num == 37) { instance.wind = ProtocolParser.ReadSingle(stream); continue; } else if (num == 45) { instance.rain = ProtocolParser.ReadSingle(stream); continue; } else if (num == 53) { instance.engineTime = ProtocolParser.ReadSingle(stream); continue; } Key key = ProtocolParser.ReadKey((byte)num, stream); if (key.Field == 0) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } return(instance); }
public static void ResetToPool(ProtoBuf.Environment instance) { if (!instance.ShouldPool) { return; } instance.dateTime = (long)0; instance.clouds = 0f; instance.fog = 0f; instance.wind = 0f; instance.rain = 0f; instance.engineTime = 0f; Pool.Free <ProtoBuf.Environment>(ref instance); }
public BaseEnvironment(ProtoBuf.Environment proto) { protobuf = proto; }
public static ProtoBuf.Environment Deserialize(Stream stream) { ProtoBuf.Environment environment = Pool.Get <ProtoBuf.Environment>(); ProtoBuf.Environment.Deserialize(stream, environment, false); return(environment); }
public static void SerializeLengthDelimited(Stream stream, ProtoBuf.Environment instance) { byte[] bytes = ProtoBuf.Environment.SerializeToBytes(instance); ProtocolParser.WriteUInt32(stream, (uint)bytes.Length); stream.Write(bytes, 0, (int)bytes.Length); }
public ProtoBuf.Environment Copy() { ProtoBuf.Environment environment = Pool.Get <ProtoBuf.Environment>(); this.CopyTo(environment); return(environment); }
public static ProtoBuf.Environment DeserializeLength(Stream stream, int length) { ProtoBuf.Environment environment = Pool.Get <ProtoBuf.Environment>(); ProtoBuf.Environment.DeserializeLength(stream, length, environment, false); return(environment); }