T
- the type of the object marshalledpublic interface SizedWriter<T> extends Marshallable
SizedReader
, which knows the length of serialized
form of any object before actual serialization 2) doesn't include that length in the serialized
form itself, assuming it will be passed by the ChronicleHash
into SizedReader.read(net.openhft.chronicle.bytes.Bytes, long, T)
deserialization method.
Read SizedWriter
and SizedReader
and
custom
serialization checklist sections in the Chronicle Map tutorial for more information on this
interface, how to implement and use it properly.
EMPTY
DISCARD
Modifier and Type | Method and Description |
---|---|
long |
size(T toWrite)
Returns the length (in bytes) of the serialized form of the given object.
|
void |
write(Bytes out,
long size,
T toWrite)
Serializes the given object to the given
out , without writing the length of the
serialized form itself. |
$equals, $fieldInfos, $hashCode, $toString, copyFrom, copyTo, deepCopy, fromFile, fromFile, fromFileAsMap, fromFileAsMap, fromHexString, fromString, fromString, getClassName, getField, mergeToMap, readMarshallable, reset, setField, streamFromFile, streamFromFile, writeMarshallable
writeValue
unexpectedField
long size(@NotNull T toWrite)
out
on
write(out, size, toWrite)
call.toWrite
- the object which serialized form length should be returnedvoid write(Bytes out, long size, @NotNull T toWrite)
out
, without writing the length of the
serialized form itself.
Implementation of this method should increment the position of the given out
by size(toWrite)
. The given object
should be written into these range between the initial bytes
' position and the
position after this method call returns.
out
- the Bytes
to write the given object tosize
- the size, returned by size(Object)
for the given toWrite
object.
it is given, because size might be needed during serialization, and it's computation has
non-constant complexity, i. e. if serializing a CharSequence
using variable-length
encoding like UTF-8.toWrite
- the object to serializeSizedReader.read(Bytes, long, Object)
Copyright © 2018. All rights reserved.