Class ChunkedValueManifest
java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.storage.protocol.ChunkedValueManifest
- All Implemented Interfaces:
Externalizable
,Serializable
,Comparable<org.apache.avro.specific.SpecificRecord>
,org.apache.avro.generic.GenericContainer
,org.apache.avro.generic.GenericRecord
,org.apache.avro.generic.IndexedRecord
,org.apache.avro.specific.SpecificRecord
public class ChunkedValueManifest
extends org.apache.avro.specific.SpecificRecordBase
implements org.apache.avro.specific.SpecificRecord
This record maintains chunking information in order to re-assemble a value that was split in many chunks. The version of this schema is intentionally set to -1 because this is what will be used in the schema part of the value field, representing a special system-type schema, as opposed to a user-defined schema.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionlist of keys associated to all chunks.static final org.apache.avro.Schema
int
An identifier used to determine how the full value (after chunk re-assembly) can be deserialized.int
The number of bytes of the entire value, once all chunks are assembled. -
Constructor Summary
ConstructorDescriptionDefault constructor.ChunkedValueManifest
(List<ByteBuffer> keysWithChunkIdSuffix, Integer schemaId, Integer size) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget
(int field$) static org.apache.avro.Schema
Gets the value of the 'keysWithChunkIdSuffix' field.org.apache.avro.Schema
int
Gets the value of the 'schemaId' field.int
getSize()
Gets the value of the 'size' field.org.apache.avro.specific.SpecificData
void
void
void
setKeysWithChunkIdSuffix
(List<ByteBuffer> value) Sets the value of the 'keysWithChunkIdSuffix' field.void
setSchemaId
(int value) Sets the value of the 'schemaId' field.void
setSize
(int value) Sets the value of the 'size' field.void
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.avro.generic.GenericRecord
hasField
-
Field Details
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$ -
keysWithChunkIdSuffix
list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end. -
schemaId
public int schemaIdAn identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema. -
size
public int sizeThe number of bytes of the entire value, once all chunks are assembled.
-
-
Constructor Details
-
ChunkedValueManifest
public ChunkedValueManifest()Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder()
. -
ChunkedValueManifest
All-args constructor.- Parameters:
keysWithChunkIdSuffix
- list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end.schemaId
- An identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema.size
- The number of bytes of the entire value, once all chunks are assembled.
-
-
Method Details
-
getClassSchema
public static org.apache.avro.Schema getClassSchema() -
getSpecificData
public org.apache.avro.specific.SpecificData getSpecificData()- Overrides:
getSpecificData
in classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()- Specified by:
getSchema
in interfaceorg.apache.avro.generic.GenericContainer
- Specified by:
getSchema
in classorg.apache.avro.specific.SpecificRecordBase
-
get
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in classorg.apache.avro.specific.SpecificRecordBase
-
getKeysWithChunkIdSuffix
Gets the value of the 'keysWithChunkIdSuffix' field.- Returns:
- list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end.
-
setKeysWithChunkIdSuffix
Sets the value of the 'keysWithChunkIdSuffix' field. list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end.- Parameters:
value
- the value to set.
-
getSchemaId
public int getSchemaId()Gets the value of the 'schemaId' field.- Returns:
- An identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema.
-
setSchemaId
public void setSchemaId(int value) Sets the value of the 'schemaId' field. An identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema.- Parameters:
value
- the value to set.
-
getSize
public int getSize()Gets the value of the 'size' field.- Returns:
- The number of bytes of the entire value, once all chunks are assembled.
-
setSize
public void setSize(int value) Sets the value of the 'size' field. The number of bytes of the entire value, once all chunks are assembled.- Parameters:
value
- the value to set.
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-