Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 4
0
 public override void Serialize(ref Span <byte> buffer)
 {
     base.Serialize(ref buffer);
     BinSerialize.WriteBool(ref buffer, RawValue);
 }