Class SerializationContext (2.48.0)

public abstract class SerializationContext : object

Provides storage for payload when serializing a message.

Inheritance

Object > SerializationContext

Namespace

Grpc.Core

Assembly

Grpc.Core.Api.dll

Methods

Complete()

public virtual void Complete()

Complete the payload written to the buffer writer. Complete() can only be called once.

Complete(Byte[])

public virtual void Complete(byte[] payload)

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.

Parameter
Name Description
payload Byte[]

the serialized form of current message

GetBufferWriter()

public virtual IBufferWriter<byte> GetBufferWriter()

Gets buffer writer that can be used to write the serialized data. Once serialization is finished, Complete() needs to be called.

Returns
Type Description
IBufferWriter<Byte>

SetPayloadLength(Int32)

public virtual void SetPayloadLength(int payloadLength)

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.

Parameter
Name Description
payloadLength Int32

The total length of the payload in bytes.