public sealed class Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes : IMessage<Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes>, IEquatable<Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes>, IDeepCloneable<Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Bigtable v2 API class Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes.
Fields are encoded independently and concatenated with the fixed byte
pair {0x00, 0x01}
in between.
Any null (0x00)
byte in an encoded field is replaced by the fixed
byte pair {0x00, 0xFF}
.
Fields that encode to the empty string "" have special handling:
- If every field encodes to "", or if the STRUCT has no fields
defined, then the STRUCT is encoded as the fixed byte pair
{0x00, 0x00}
. - Otherwise, the STRUCT only encodes until the last non-empty field,
omitting any trailing empty fields. Any empty fields that aren't
omitted are replaced with the fixed byte pair
{0x00, 0x00}
.
Examples:
- STRUCT() -> "\00\00"
- STRUCT("") -> "\00\00"
- STRUCT("", "") -> "\00\00"
- STRUCT("", "B") -> "\00\00" + "\00\01" + "B"
- STRUCT("A", "") -> "A"
- STRUCT("", "B", "") -> "\00\00" + "\00\01" + "B"
- STRUCT("A", "", "C") -> "A" + "\00\01" + "\00\00" + "\00\01" + "C"
Since null bytes are always escaped, this encoding can cause size
blowup for encodings like Int64.BigEndianBytes
that are likely to
produce many such bytes.
Sorted mode:
- Fields are encoded in sorted mode.
- All values supported by the field encodings are allowed
- Element-wise order is preserved:
A < B
ifA[0] < B[0]
, or ifA[0] == B[0] && A[1] < B[1]
, etc. Strict prefixes sort first.
Distinct mode:
- Fields are encoded in distinct mode.
- All values supported by the field encodings are allowed.
Implements
IMessageTypeTypesStructTypesEncodingTypesOrderedCodeBytes, IEquatableTypeTypesStructTypesEncodingTypesOrderedCodeBytes, IDeepCloneableTypeTypesStructTypesEncodingTypesOrderedCodeBytes, IBufferMessage, IMessageNamespace
Google.Cloud.Bigtable.V2Assembly
Google.Cloud.Bigtable.V2.dll
Constructors
OrderedCodeBytes()
public OrderedCodeBytes()
OrderedCodeBytes(OrderedCodeBytes)
public OrderedCodeBytes(Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes other)
Parameter | |
---|---|
Name | Description |
other |
TypeTypesStructTypesEncodingTypesOrderedCodeBytes |