Trait

org.http4s.blaze.pipeline.stages

ByteToObjectStage

Related Doc: package stages

Permalink

trait ByteToObjectStage[O] extends MidStage[ByteBuffer, O]

Linear Supertypes
MidStage[ByteBuffer, O], Head[O], Tail[ByteBuffer], Stage, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ByteToObjectStage
  2. MidStage
  3. Head
  4. Tail
  5. Stage
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def bufferToMessage(in: ByteBuffer): Option[O]

    Permalink

    Method that decodes ByteBuffers to objects.

    Method that decodes ByteBuffers to objects. None reflects not enough data to decode a message Any unused data in the ByteBuffer will be recycled and available for the next read.

    WARNING: don't count on the underlying array of the ByteBuffer. This uses the slice method, which could preserve access to the buffer, but mess with the various positions.

    in

    ByteBuffer of immediately available data

    returns

    optional message if enough data was available

  2. abstract val maxBufferSize: Int

    Permalink
  3. abstract def messageToBuffer(in: O): Seq[ByteBuffer]

    Permalink

    Encode objects to buffers

    Encode objects to buffers

    in

    object to decode

    returns

    sequence of ByteBuffers to pass to the head

  4. abstract def name: String

    Permalink
    Definition Classes
    Stage

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def channelRead(size: Int = 1, timeout: Duration = Duration.Inf): Future[ByteBuffer]

    Permalink
    Definition Classes
    Tail
  6. final def channelWrite(data: Seq[ByteBuffer], timeout: Duration): Future[Unit]

    Permalink

    Write a collection of outbound messages to the pipeline with a timeout

    Write a collection of outbound messages to the pipeline with a timeout

    Definition Classes
    Tail
  7. def channelWrite(data: Seq[ByteBuffer]): Future[Unit]

    Permalink

    Write a collection of outbound messages to the pipeline

    Write a collection of outbound messages to the pipeline

    Definition Classes
    Tail
  8. final def channelWrite(data: ByteBuffer, timeout: Duration): Future[Unit]

    Permalink

    Write a single outbound message to the pipeline with a timeout

    Write a single outbound message to the pipeline with a timeout

    Definition Classes
    Tail
  9. def channelWrite(data: ByteBuffer): Future[Unit]

    Permalink

    Write a single outbound message to the pipeline

    Write a single outbound message to the pipeline

    Definition Classes
    Tail
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. final def closePipeline(cause: Option[Throwable]): Unit

    Permalink
    Definition Classes
    TailStage
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def findInboundStage[C <: Stage](clazz: Class[C]): Option[C]

    Permalink

    Find the next inbound Stage of type C, if it exists.

    Find the next inbound Stage of type C, if it exists.

    Definition Classes
    Head
  16. final def findInboundStage(name: String): Option[Stage]

    Permalink

    Find the next outbound Stage with the given name, if it exists.

    Find the next outbound Stage with the given name, if it exists.

    Definition Classes
    Head
  17. final def findOutboundStage[C <: Stage](clazz: Class[C]): Option[C]

    Permalink

    Find the next outbound Stage of type C, if it exists.

    Find the next outbound Stage of type C, if it exists.

    Definition Classes
    Tail
  18. final def findOutboundStage(name: String): Option[Stage]

    Permalink

    Find the next outbound Stage with the given name, if it exists.

    Find the next outbound Stage with the given name, if it exists.

    Definition Classes
    Tail
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  21. def inboundCommand(cmd: InboundCommand): Unit

    Permalink

    Receives inbound commands Override to capture commands.

    Receives inbound commands Override to capture commands.

    cmd

    a command originating from the channel

    Definition Classes
    HeadStage
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. final val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Stage
  24. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. def readRequest(size: Int): Future[O]

    Permalink

    Called by the next inbound Stage to signal interest in reading data.

    Called by the next inbound Stage to signal interest in reading data.

    size

    Hint as to the size of the message intended to be read. May not be meaningful or honored.

    returns

    Future that will resolve with the requested inbound data, or an error.

    Definition Classes
    ByteToObjectStageHead
  28. final def removeStage()(implicit ev: =:=[MidStage[ByteBuffer, O], MidStage[ByteBuffer, ByteBuffer]]): Unit

    Permalink

    Remove this MidStage from the pipeline

    Remove this MidStage from the pipeline

    Definition Classes
    MidStage
  29. final def replaceInline(stage: MidStage[ByteBuffer, O]): ByteToObjectStage.this.type

    Permalink

    Replace this MidStage with the provided MidStage of the same type

    Replace this MidStage with the provided MidStage of the same type

    Definition Classes
    MidStage
  30. final def replaceNext(stage: LeafBuilder[O], startup: Boolean): Tail[O]

    Permalink

    Replace all remaining inbound Stages of the pipeline, not including this Stage.

    Replace all remaining inbound Stages of the pipeline, not including this Stage.

    Definition Classes
    Head
  31. final def replaceTail(leafBuilder: LeafBuilder[ByteBuffer], startup: Boolean): ByteToObjectStage.this.type

    Permalink

    Replace all downstream Stages, including this Stage.

    Replace all downstream Stages, including this Stage.

    If this was a MidStage, its inbound element is notified via a Disconnected Command.

    Definition Classes
    Tail
  32. final def sendInboundCommand(cmd: InboundCommand): Unit

    Permalink

    Send a command to the next inbound Stage of the pipeline

    Send a command to the next inbound Stage of the pipeline

    Definition Classes
    Head
  33. final def spliceAfter(stage: MidStage[O, O]): Unit

    Permalink

    Insert the MidStage after this

    Insert the MidStage after this

    Definition Classes
    Head
  34. final def spliceBefore(stage: MidStage[ByteBuffer, ByteBuffer]): Unit

    Permalink

    Insert the MidStage before this Stage

    Insert the MidStage before this Stage

    Definition Classes
    Tail
  35. def stageShutdown(): Unit

    Permalink

    Shuts down the stage, deallocating resources, etc.

    Shuts down the stage, deallocating resources, etc.

    It will be called when the stage receives a Disconnected command unless inboundCommand is overridden. This method should not send or Disconnected commands.

    It is possible that this will not be called due to failure of other stages to propagate shutdown commands. Conversely, it is also possible for this to be called more than once due to the reception of multiple shutdown commands. It is therefore recommended that the method be idempotent.

    Attributes
    protected
    Definition Classes
    Stage
  36. def stageStartup(): Unit

    Permalink

    Start the stage, allocating resources etc.

    Start the stage, allocating resources etc.

    This method should not effect other stages by sending commands etc unless it creates them. It is not impossible that the stage will receive other commands besides Connected before this method is called. It is not impossible for this method to be called multiple times by misbehaving stages. It is therefore recommended that the method be idempotent.

    Attributes
    protected
    Definition Classes
    Stage
  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  38. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  39. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. def writeRequest(data: O): Future[Unit]

    Permalink

    Data that the next inbound Stage wants to send outbound.

    Data that the next inbound Stage wants to send outbound.

    returns

    a Future that resolves when the data has been handled.

    Definition Classes
    ByteToObjectStageHead
  43. def writeRequest(data: Seq[O]): Future[Unit]

    Permalink

    Collection of data that the next inbound Stage wants to sent outbound.

    Collection of data that the next inbound Stage wants to sent outbound.

    It is generally assumed that the order of elements has meaning.

    returns

    a Future that resolves when the data has been handled.

    Definition Classes
    ByteToObjectStageHead

Inherited from MidStage[ByteBuffer, O]

Inherited from Head[O]

Inherited from Tail[ByteBuffer]

Inherited from Stage

Inherited from AnyRef

Inherited from Any

Ungrouped