public void Serialize(ref Span <byte> buffer) { BinSerialize.WritePackedUnsignedInteger(ref buffer, Index); BinSerialize.WritePackedUnsignedInteger(ref buffer, (uint)Type.TypeEnum); var typeSize = Type.GetByteSize(); var valueSize = int.MaxValue; // if value == null, we wouldn't serialize it if (Value != null) { valueSize = Value.GetByteSize(); } if (Value == null || typeSize + valueSize + 1 > PayloadV2Helper.MaxMessageSize) { // send only type BinSerialize.WriteBool(ref buffer, false); Type.Serialize(ref buffer); } else { // send type + value BinSerialize.WriteBool(ref buffer, true); Type.Serialize(ref buffer); Value.Serialize(ref buffer); } }
public override void Serialize(ref Span <byte> buffer) { BinSerialize.WriteBool(ref buffer, UavIdFilterEnabled); BinSerialize.WriteByte(ref buffer, UavSystemId); BinSerialize.WriteByte(ref buffer, UavComponentId); BinSerialize.WriteUShort(ref buffer, WpIndex); }
public void Serialize(ref Span <byte> buffer) { BinSerialize.WriteBool(ref buffer, IsEnabled); if (IsEnabled && Session != null) { Session.Serialize(ref buffer); } }
public override void Serialize(ref Span <byte> buffer) { base.Serialize(ref buffer); BinSerialize.WriteBool(ref buffer, RawValue); }