Class ChunkedValueManifest
- java.lang.Object
-
- org.apache.avro.specific.SpecificRecordBase
-
- com.linkedin.venice.storage.protocol.ChunkedValueManifest
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description java.util.List<java.nio.ByteBuffer>
keysWithChunkIdSuffix
list of keys associated to all chunks.static org.apache.avro.Schema
SCHEMA$
int
schemaId
An identifier used to determine how the full value (after chunk re-assembly) can be deserialized.int
size
The number of bytes of the entire value, once all chunks are assembled.
-
Constructor Summary
Constructors Constructor Description ChunkedValueManifest()
Default constructor.ChunkedValueManifest(java.util.List<java.nio.ByteBuffer> keysWithChunkIdSuffix, java.lang.Integer schemaId, java.lang.Integer size)
All-args constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
get(int field$)
static org.apache.avro.Schema
getClassSchema()
java.util.List<java.nio.ByteBuffer>
getKeysWithChunkIdSuffix()
Gets the value of the 'keysWithChunkIdSuffix' field.org.apache.avro.Schema
getSchema()
int
getSchemaId()
Gets the value of the 'schemaId' field.int
getSize()
Gets the value of the 'size' field.org.apache.avro.specific.SpecificData
getSpecificData()
void
put(int field$, java.lang.Object value$)
void
readExternal(java.io.ObjectInput in)
void
setKeysWithChunkIdSuffix(java.util.List<java.nio.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
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
-
-
-
-
Field Detail
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$
-
keysWithChunkIdSuffix
public java.util.List<java.nio.ByteBuffer> keysWithChunkIdSuffix
list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end.
-
schemaId
public int 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
public int size
The number of bytes of the entire value, once all chunks are assembled.
-
-
Constructor Detail
-
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
public ChunkedValueManifest(java.util.List<java.nio.ByteBuffer> keysWithChunkIdSuffix, java.lang.Integer schemaId, java.lang.Integer size)
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 Detail
-
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
public java.lang.Object get(int field$)
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
public void put(int field$, java.lang.Object value$)
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in classorg.apache.avro.specific.SpecificRecordBase
-
getKeysWithChunkIdSuffix
public java.util.List<java.nio.ByteBuffer> 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
public void setKeysWithChunkIdSuffix(java.util.List<java.nio.ByteBuffer> value)
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
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
-