Class SerializationContext
Provides storage for payload when serializing a message.
Inheritance
Inherited Members
Namespace: Grpc.Core
Assembly: Grpc.Core.Api.dll
Syntax
public abstract class SerializationContext
Methods
Complete()
Complete the payload written to the buffer writer. Complete()
can only be called once.
Declaration
public virtual void Complete()
Complete(Byte[])
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.
Declaration
public virtual void Complete(byte[] payload)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | payload | the serialized form of current message |
GetBufferWriter()
Gets buffer writer that can be used to write the serialized data. Once serialization is finished,
Complete()
needs to be called.
Declaration
public virtual IBufferWriter<byte> GetBufferWriter()
Returns
Type | Description |
---|---|
IBufferWriter<System.Byte> |
SetPayloadLength(Int32)
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.
Declaration
public virtual void SetPayloadLength(int payloadLength)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | payloadLength | The total length of the payload in bytes. |