colossus.controller

FiniteBytePipe

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: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

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

    Definition Classes
    Pipe
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. object Closed extends State with Product with Serializable

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

    Definition Classes
    Any
  10. def clone(): AnyRef

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

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

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

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

    Definition Classes
    Sink
  15. def finalize(): Unit

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

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

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

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

    Definition Classes
    AnyRef → Any
  20. def isClosed: Boolean

    Definition Classes
    InfinitePipeTransport
  21. def isFull: Boolean

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

    Definition Classes
    Any
  23. def isPushable: Boolean

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

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

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

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

    Definition Classes
    AnyRef
  28. 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
  29. def pullCB(): Callback[Option[DataBuffer]]

    Definition Classes
    Source
  30. 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

  31. def remaining: Long

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

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

    Definition Classes
    InfinitePipeTransport
  34. def terminated: Boolean

    Definition Classes
    InfinitePipeTransport
  35. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. 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