Google.Protobuf by Google Inc.

<PackageReference Include="Google.Protobuf" Version="3.13.0" />

 CodedOutputStream

public sealed class CodedOutputStream : IDisposable
Encodes and writes protocol message fields.
public sealed class OutOfSpaceException : IOException

Indicates that a CodedOutputStream wrapping a flat byte array ran out of space.

public static readonly int DefaultBufferSize

The buffer size used by CreateInstance(Stream).

public long Position { get; }

Returns the current position in the stream, or the position in the output buffer

public int SpaceLeft { get; }

If writing to a flat array, returns the space left in the array. Otherwise, throws an InvalidOperationException.

public CodedOutputStream(byte[] flatArray)

Creates a new CodedOutputStream that writes directly to the given byte array. If more bytes are written than fit in the array, OutOfSpaceException will be thrown.

public CodedOutputStream(Stream output)

Creates a new CodedOutputStream which write to the given stream, and disposes of that stream when the returned CodedOutputStream is disposed.

public CodedOutputStream(Stream output, int bufferSize)

Creates a new CodedOutputStream which write to the given stream and uses the specified buffer size.

public CodedOutputStream(Stream output, bool leaveOpen)

Creates a new CodedOutputStream which write to the given stream.

public CodedOutputStream(Stream output, int bufferSize, bool leaveOpen)

Creates a new CodedOutputStream which write to the given stream and uses the specified buffer size.

public static int ComputeBoolSize(bool value)

Computes the number of bytes that would be needed to encode a bool field, including the tag.

public static int ComputeBytesSize(ByteString value)

Computes the number of bytes that would be needed to encode a bytes field, including the tag.

public static int ComputeDoubleSize(double value)

Computes the number of bytes that would be needed to encode a double field, including the tag.

public static int ComputeEnumSize(int value)

Computes the number of bytes that would be needed to encode a enum field, including the tag. The caller is responsible for converting the enum value to its numeric value.

public static int ComputeFixed32Size(uint value)

Computes the number of bytes that would be needed to encode a fixed32 field, including the tag.

public static int ComputeFixed64Size(ulong value)

Computes the number of bytes that would be needed to encode a fixed64 field, including the tag.

public static int ComputeFloatSize(float value)

Computes the number of bytes that would be needed to encode a float field, including the tag.

public static int ComputeGroupSize(IMessage value)

Computes the number of bytes that would be needed to encode a group field, including the tag.

public static int ComputeInt32Size(int value)

Computes the number of bytes that would be needed to encode an int32 field, including the tag.

public static int ComputeInt64Size(long value)

Computes the number of bytes that would be needed to encode an int64 field, including the tag.

public static int ComputeLengthSize(int length)

Computes the number of bytes that would be needed to encode a length, as written by WriteLength.

public static int ComputeMessageSize(IMessage value)

Computes the number of bytes that would be needed to encode an embedded message field, including the tag.

public static int ComputeRawVarint32Size(uint value)

Computes the number of bytes that would be needed to encode a varint.

public static int ComputeRawVarint64Size(ulong value)

Computes the number of bytes that would be needed to encode a varint.

public static int ComputeSFixed32Size(int value)

Computes the number of bytes that would be needed to encode an sfixed32 field, including the tag.

public static int ComputeSFixed64Size(long value)

Computes the number of bytes that would be needed to encode an sfixed64 field, including the tag.

public static int ComputeSInt32Size(int value)

Computes the number of bytes that would be needed to encode an sint32 field, including the tag.

public static int ComputeSInt64Size(long value)

Computes the number of bytes that would be needed to encode an sint64 field, including the tag.

public static int ComputeStringSize(string value)

Computes the number of bytes that would be needed to encode a string field, including the tag.

public static int ComputeTagSize(int fieldNumber)

Computes the number of bytes that would be needed to encode a tag.

public static int ComputeUInt32Size(uint value)

Computes the number of bytes that would be needed to encode a uint32 field, including the tag.

public static int ComputeUInt64Size(ulong value)

Computes the number of bytes that would be needed to encode a uint64 field, including the tag.

public void CheckNoSpaceLeft()

Verifies that SpaceLeft returns zero. It's common to create a byte array that is exactly big enough to hold a message, then write to it with a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that the message was actually as big as expected, which can help finding bugs.

public void Dispose()

Flushes any buffered data and optionally closes the underlying stream, if any.

public void Flush()

Flushes any buffered data to the underlying stream (if there is one).

public void WriteBool(bool value)

Writes a bool field value, without a tag, to the stream.

public void WriteBytes(ByteString value)

Write a byte string, without a tag, to the stream. The data is length-prefixed.

public void WriteDouble(double value)

Writes a double field value, without a tag, to the stream.

public void WriteEnum(int value)

Writes an enum value, without a tag, to the stream.

public void WriteFixed32(uint value)

Writes a fixed32 field value, without a tag, to the stream.

public void WriteFixed64(ulong value)

Writes a fixed64 field value, without a tag, to the stream.

public void WriteFloat(float value)

Writes a float field value, without a tag, to the stream.

public void WriteGroup(IMessage value)

Writes a group, without a tag, to the stream.

public void WriteInt32(int value)

Writes an int32 field value, without a tag, to the stream.

public void WriteInt64(long value)

Writes an int64 field value, without a tag, to the stream.

public void WriteLength(int length)

Writes a length (in bytes) for length-delimited data.

public void WriteMessage(IMessage value)

Writes a message, without a tag, to the stream. The data is length-prefixed.

public void WriteRawMessage(IMessage value)

Writes a message, without a tag, to the stream. Only the message data is written, without a length-delimiter.

public void WriteRawTag(byte b1)

Writes the given single-byte tag directly to the stream.

public void WriteRawTag(byte b1, byte b2)

Writes the given two-byte tag directly to the stream.

public void WriteRawTag(byte b1, byte b2, byte b3)

Writes the given three-byte tag directly to the stream.

public void WriteRawTag(byte b1, byte b2, byte b3, byte b4)

Writes the given four-byte tag directly to the stream.

public void WriteRawTag(byte b1, byte b2, byte b3, byte b4, byte b5)

Writes the given five-byte tag directly to the stream.

public void WriteSFixed32(int value)

Writes an sfixed32 value, without a tag, to the stream.

public void WriteSFixed64(long value)

Writes an sfixed64 value, without a tag, to the stream.

public void WriteSInt32(int value)

Writes an sint32 value, without a tag, to the stream.

public void WriteSInt64(long value)

Writes an sint64 value, without a tag, to the stream.

public void WriteString(string value)

Writes a string field value, without a tag, to the stream. The data is length-prefixed.

public void WriteTag(int fieldNumber, WireType type)

Encodes and writes a tag.

public void WriteTag(uint tag)

Writes an already-encoded tag.

public void WriteUInt32(uint value)

Writes a uint32 value, without a tag, to the stream.

public void WriteUInt64(ulong value)

Writes a uint64 field value, without a tag, to the stream.