trait ByteBufferSerializer extends AnyRef
Serializer between an object and a ByteBuffer
representing that object.
Implementations should typically extend SerializerWithStringManifest and
in addition to the ByteBuffer
based toBinary
and fromBinary
methods also
implement the array based toBinary
and fromBinary
methods. The array based
methods will be used when ByteBuffer
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 = Array.ofDim[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)
- Source
- Serializer.scala
Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
- Alphabetic
- By Inheritance
Inherited
- ByteBufferSerializer
- AnyRef
- Any
Implicitly
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
Visibility
- Public
- All
Abstract Value Members
-
abstract
def
fromBinary(buf: ByteBuffer, manifest: String): AnyRef
Produces an object from a
ByteBuffer
, with an optional type-hint; the class should be loaded using ActorSystem.dynamicAccess. -
abstract
def
toBinary(o: AnyRef, buf: ByteBuffer): Unit
Serializes the given object into the
ByteBuffer
.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to any2stringadd[ByteBufferSerializer] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (ByteBufferSerializer, B)
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to ArrowAssoc[ByteBufferSerializer] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
ensuring(cond: (ByteBufferSerializer) ⇒ Boolean, msg: ⇒ Any): ByteBufferSerializer
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to Ensuring[ByteBufferSerializer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (ByteBufferSerializer) ⇒ Boolean): ByteBufferSerializer
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to Ensuring[ByteBufferSerializer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): ByteBufferSerializer
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to Ensuring[ByteBufferSerializer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): ByteBufferSerializer
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to Ensuring[ByteBufferSerializer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to StringFormat[ByteBufferSerializer] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (ByteBufferSerializer, B)
- Implicit
- This member is added by an implicit conversion from ByteBufferSerializer to ArrowAssoc[ByteBufferSerializer] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc