public static int ComputeSkipLengthForExtensionTag(PlainBufferExtension extension) { int size = 0; if (extension.HasSeq()) { size += 1 + PlainBufferOutputStream.LITTLE_ENDIAN_32_SIZE; //TAG_SEQ_ING + length size += ComputeSkipLengthForSequenceInfo(); } return(size); }
public static int ComputePlainBufferExtension(PlainBufferExtension extension) { int size = 1; //TAG_EXTENSION size += PlainBufferOutputStream.LITTLE_ENDIAN_32_SIZE; // Length if (extension.HasSeq()) { size += ComputePlainBufferSequenceInfo(); } return(size); }
public void WriteExtension(PlainBufferExtension extension) { WriteTag(PlainBufferConsts.TAG_EXTENSION); output.WriteRawLittleEndian32(PlainBufferBuilder.ComputeSkipLengthForExtensionTag(extension)); int extensionCount = 0; if (extension.HasSeq()) { WriteSequenceInfo(extension.GetSequenceInfo()); extensionCount++; } if (extensionCount == 0) { throw new IOException("no extension tag is Writen."); } }
public bool HasExtension() { return(extension.HasSeq()); }