class CompressedUInt64Serializer (Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.CompressedUInt64Serializer)

Overview

class CompressedUInt64Serializer: Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.BaseItemSerializer {
public:
    // fields

    static readonly CompressedUInt64Serializer Instance = new CompressedUInt64Serializer();

    // methods

    static UInt64 ReadCompressedUInt64(Stream stream);
    static void WriteCompressedUInt64(Stream stream, UInt64 value);
};

Inherited Members

public:
    // properties

    Type DataType;

    // methods

    object Deserialize(BinaryDeserializer deserializer);
    T Deserialize(BinaryDeserializer deserializer);
    void Serialize(BinarySerializer serializer, object item);
    void Serialize(BinarySerializer serializer, T item);
    T Deserialize(BinaryDeserializer deserializer);
    void Serialize(BinarySerializer serializer, T item);

Detailed Documentation

Methods

static void WriteCompressedUInt64(Stream stream, UInt64 value)

Writes an UInt64 value in "compressed" format. Assuming most values are small, we can possibly write a single byte instead of 8 if the value is smaller than 127. To do the "compression", we write 7 bits of the value at a time, and use the last bit to tell if there's more data or not. Unfortunately, in the worst case, we might end-up writing 10 bytes instead of 8.