Package akka.serialization
Interface ByteBufferSerializer
-
- All Known Implementing Classes:
ByteArraySerializer
,ByteStringSerializer
,DisabledJavaSerializer
,IntSerializer
,LongSerializer
,StringSerializer
public interface ByteBufferSerializer
Serializer between an object and aByteBuffer
representing that object.Implementations should typically extend
SerializerWithStringManifest
and in addition to theByteBuffer
basedtoBinary
andfromBinary
methods also implement the array basedtoBinary
andfromBinary
methods. The array based methods will be used whenByteBuffer
is not used, e.g. in Akka Persistence.Note that the array based methods can for example be implemented by delegation like this:
// you need to know the maximum size in bytes of the serialized messages val pool = new akka.io.DirectByteBufferPool(defaultBufferSize = 1024 * 1024, maxPoolEntries = 10) // Implement this method for compatibility with `SerializerWithStringManifest`. override def toBinary(o: AnyRef): Array[Byte] = { val buf = pool.acquire() try { toBinary(o, buf) buf.flip() val bytes = new Array[Byte](buf.remaining) buf.get(bytes) bytes } finally { pool.release(buf) } } // Implement this method for compatibility with `SerializerWithStringManifest`. override def fromBinary(bytes: Array[Byte], manifest: String): AnyRef = fromBinary(ByteBuffer.wrap(bytes), manifest)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Object
fromBinary(java.nio.ByteBuffer buf, java.lang.String manifest)
Produces an object from aByteBuffer
, with an optional type-hint; the class should be loaded using ActorSystem.dynamicAccess.void
toBinary(java.lang.Object o, java.nio.ByteBuffer buf)
Serializes the given object into theByteBuffer
.
-
-
-
Method Detail
-
fromBinary
java.lang.Object fromBinary(java.nio.ByteBuffer buf, java.lang.String manifest) throws java.io.NotSerializableException
Produces an object from aByteBuffer
, with an optional type-hint; the class should be loaded using ActorSystem.dynamicAccess.- Throws:
java.io.NotSerializableException
-
toBinary
void toBinary(java.lang.Object o, java.nio.ByteBuffer buf)
Serializes the given object into theByteBuffer
.
-
-