Packages

class ClientDeserializeCtx[Rep] extends (Array[Byte]) => ReqRep

Used by Thrift and ThriftMux Client to facilitate giving the Finagle stack access to various data that are computed outside of Finagle's stack.

This includes:

  • the deserialized forms of Thrift requests and responses.
  • the name of the rpc.
  • the elapsed time to serialize the request.
  • the elapsed time to deserialize the response.

While this is thread-safe, it should only be used for the life of a single request/response pair.

When using Scrooge for code generation, a proper ClientDeserializeCtx will be available to code via Contexts.local(ClientDeserializeCtx.Key).

Note

this class has evolved and it's name is now a bit too specific for its more expanded role.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClientDeserializeCtx
  2. Function1
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ClientDeserializeCtx(request: Any, replyDeserializer: (Array[Byte]) => Try[Rep])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (ReqRep) => A): (Array[Byte]) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def apply(responseBytes: Array[Byte]): ReqRep
    Definition Classes
    ClientDeserializeCtx → Function1
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def compose[A](g: (A) => Array[Byte]): (A) => ReqRep
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. def deserializationTime: Long

    Gets how long, in nanoseconds, it took for the client to deserialize the response from Thrift format.

    Gets how long, in nanoseconds, it took for the client to deserialize the response from Thrift format.

    Negative values indicate that this was not recorded and as such, should be ignored.

  10. def deserialize(responseBytes: Array[Byte]): Try[Rep]

    Deserialize the given bytes.

    Deserialize the given bytes.

    Ensures that deserialization will only happen once for non fan-out responses regardless of future inputs. If different bytes are seen on future calls, this will still return the first deserialized result.

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. val request: Any
  21. def rpcName: Option[String]

    Gets the rpc method's name, if set.

  22. def rpcName(name: String): Unit

    Sets the name of the the rpc method.

  23. def serializationTime: Long

    Gets how long, in nanoseconds, it took for the client to serialize the request into Thrift format.

    Gets how long, in nanoseconds, it took for the client to serialize the request into Thrift format.

    Negative values indicate that this was not recorded and as such, should be ignored.

  24. def serializationTime(nanos: Long): Unit

    Sets how long, in nanoseconds, it took for the client to serialize the request into Thrift format.

  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from (Array[Byte]) => ReqRep

Inherited from AnyRef

Inherited from Any

Ungrouped