colossus.controller

FiniteBytePipe

Related Doc: package controller

class FiniteBytePipe extends InfinitePipe[DataBuffer]

A pipe designed to accept a fixed number of bytes

BE AWARE: when pushing buffers into this pipe, if the pipe completes, the buffer may still contain unread data meant for another consumer

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FiniteBytePipe
  2. InfinitePipe
  3. Pipe
  4. Source
  5. Sink
  6. Transport
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FiniteBytePipe(totalBytes: Long)

Type Members

  1. case class Dead(reason: Throwable) extends State with Product with Serializable

    Definition Classes
    InfinitePipe
  2. case class Full(trigger: Trigger) extends State with Product with Serializable

    Definition Classes
    InfinitePipe
  3. case class Pulling(callback: (Try[Option[T]]) ⇒ Unit) extends State with Product with Serializable

    Definition Classes
    InfinitePipe
  4. sealed trait State extends AnyRef

    Definition Classes
    InfinitePipe

Value Members

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

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

    Definition Classes
    AnyRef → Any
  3. def ++(next: Source[DataBuffer]): Source[DataBuffer]

    Definition Classes
    Source
  4. def ->>[V, W](pipe: Pipe[V, W])(f: (DataBuffer) ⇒ Seq[V]): Pipe[DataBuffer, W]

    Definition Classes
    Pipe
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  6. object Closed extends State with Product with Serializable

    Definition Classes
    InfinitePipe
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def complete(): Unit

    Definition Classes
    InfinitePipeSink
  10. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  12. def feed(from: Source[DataBuffer], linkState: Boolean): Unit

    Definition Classes
    Sink
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def fold[U](init: U)(cb: (DataBuffer, U) ⇒ U): Callback[U]

    Definition Classes
    Source
  15. def foldWhile[U](init: U)(cb: (DataBuffer, U) ⇒ U)(f: (U) ⇒ Boolean): Callback[U]

    Definition Classes
    Source
  16. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  18. def isClosed: Boolean

    Definition Classes
    InfinitePipe
  19. def isFull: Boolean

    Definition Classes
    InfinitePipeSink
  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. def isPushable: Boolean

    Definition Classes
    InfinitePipe
  22. def join[V, W](pipe: Pipe[V, W])(f: (DataBuffer) ⇒ Seq[V]): Pipe[DataBuffer, W]

    Definition Classes
    Pipe
  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  26. def pull(whenReady: (Try[Option[DataBuffer]]) ⇒ Unit): Unit

    Request the next value from the pipe

    Request the next value from the pipe

    Only one value can be requested at a time. Also there can only be one outstanding request at a time.

    Definition Classes
    InfinitePipeSource
  27. def pullCB(): Callback[Option[DataBuffer]]

    Definition Classes
    Source
  28. def push(data: DataBuffer): PushResult

    Attempt to push a value into the pipe.

    Attempt to push a value into the pipe.

    The value will only be successfully pushed only if there has already a been a request for data on the pulling side. In other words, the pipe will never interally queue a value.

    returns

    the result of the push

    Definition Classes
    FiniteBytePipeInfinitePipeSink
    Exceptions thrown

    PipeException when pushing to a full pipe

  29. def remaining: Long

  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  31. def terminate(reason: Throwable): Unit

    Definition Classes
    InfinitePipeTransport
  32. def terminated: Boolean

    Definition Classes
    InfinitePipeTransport
  33. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. def whenPushable(f: ⇒ PushResult): PushResult

    Attributes
    protected
    Definition Classes
    InfinitePipe

Inherited from InfinitePipe[DataBuffer]

Inherited from Pipe[DataBuffer, DataBuffer]

Inherited from Source[DataBuffer]

Inherited from Sink[DataBuffer]

Inherited from Transport

Inherited from AnyRef

Inherited from Any

Ungrouped