Provides storage for payload when serializing a message.
public abstract class SerializationContext
Complete the payload written to the buffer writer.
Complete() can only be called once.
public virtual void Complete()
Use the byte array as serialized form of current message and mark serialization process as complete.
Complete(byte) can only be called once. By calling this method the caller gives up the ownership of the
payload which must not be accessed afterwards.
public virtual void Complete(byte payload)
the serialized form of current message
Gets buffer writer that can be used to write the serialized data. Once serialization is finished,
Complete() needs to be called.
public virtual IBufferWriter<byte> GetBufferWriter()
Sets the payload length when writing serialized data into a buffer writer. If the serializer knows the full payload
length in advance, providing that information before obtaining the buffer writer using
GetBufferWriter() can improve
serialization efficiency by avoiding copies. The provided payload length must be the same as the data written to the writer.
Calling this method is optional. If the payload length is not set then the length is calculated using the data written to
the buffer writer when
Complete() is called.
public virtual void SetPayloadLength(int payloadLength)
The total length of the payload in bytes.