Package akka.serialization
Interface ByteBufferSerializer
-
- All Known Implementing Classes:
ByteArraySerializer,ByteStringSerializer,DisabledJavaSerializer,IntSerializer,LongSerializer,StringSerializer
public interface ByteBufferSerializerSerializer between an object and aByteBufferrepresenting that object.Implementations should typically extend
SerializerWithStringManifestand in addition to theByteBufferbasedtoBinaryandfromBinarymethods also implement the array basedtoBinaryandfromBinarymethods. The array based methods will be used whenByteBufferis 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.ObjectfromBinary(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.voidtoBinary(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.NotSerializableExceptionProduces 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.
-
-