public abstract class SerializationContext : object
Provides storage for payload when serializing a message.
Namespace
Grpc.CoreAssembly
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. |