colossus.streaming

Source

trait Source[+T] extends Transport

A Source is the read interface for a Pipe. Items can be pulled out of the source if available. When no item is available, a returned Signal can be used to be notified when items are available.

Sources can be mapped using the functionality provided in the SourceMapper typeclass

Linear Supertypes
Transport, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Source
  2. Transport
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def outputState: TransportState

  2. abstract def peek: PullResult[T]

  3. abstract def pull(): PullResult[T]

    Pull the next item from the Source if available.

    Pull the next item from the Source if available. The returned PullResult will indicate whether an item was successfully pulled.

  4. abstract def pullWhile(fn: (T) ⇒ PullAction, onComplete: (TerminalPullResult) ⇒ Any): Unit

    Repeatedly pull items out of a pipe, even if items are not immediately available.

    Repeatedly pull items out of a pipe, even if items are not immediately available. The Source will hold onto the given processing function and immediately forward items into it as they become available. The returned PullAction determines how the Source will proceed with the next item. If PullContinue or Wait are returned, the Source will hold onto the processing function for either when the next item is available or when the returned Signal is fired. onComplete is only called if the Source is closed or terminated while the processing function is in use.

    When Wait is returned, the item that was passed into the processing function is _not_ pulled from the source. Thus when the returned signal is fired and processing resumes, the same item will be passed to the processing function.

    This method is generally intended for linking the output of a Source to the input of a Sink. For a simplified version of this functionality, see Source.into.

  5. abstract def terminate(reason: Throwable): Unit

    Immediately terminate the transport, permenantly putting it into an error state

    Immediately terminate the transport, permenantly putting it into an error state

    Definition Classes
    Transport

Concrete 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 ++[U >: T](next: Source[U]): Source[U]

  5. final def ==(arg0: AnyRef): Boolean

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

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

    Definition Classes
    Any
  8. def canPullNonEmpty: Boolean

  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def collected: Callback[Iterator[T]]

  11. final def eq(arg0: AnyRef): Boolean

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

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

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

  15. def foldWhile[U](init: U)(cb: (T, U) ⇒ U)(f: (U) ⇒ Boolean): Callback[U]

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

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

    Definition Classes
    AnyRef → Any
  18. def into[X >: T](sink: Sink[X]): Unit

  19. def into[X >: T](sink: Sink[X], linkClosed: Boolean, linkTerminated: Boolean)(onComplete: (NonOpenTransportState) ⇒ Any): Unit

    Link this source to a sink.

    Link this source to a sink. Items will be pulled from the source and pushed to the sink, respecting backpressure, until either the source is closed or an error occurs. The linkClosed and linkTerminated parameters determine whether to propagate closure/termination of this Source to the linked Sink. However if the sink is closed or terminated first, this source will be terminated.

    sink

    The sink to link to this source

    linkClosed

    if true, the linked sink will be closed when this source is closed

    linkTerminated

    if true, the linked sink will be terminated when this source is terminated

  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. final def ne(arg0: AnyRef): Boolean

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

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

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

  25. def pullCB(): Callback[Option[T]]

  26. def pullUntilNull(fn: (T) ⇒ Boolean): Option[NullPullResult]

    Pull until either the supplied function returns false or there are no more items immediately available to pull, in which case a Some[NullPullResult] is returned indicating why the loop stopped.

  27. def reduce[U >: T](reducer: (U, U) ⇒ U): Callback[U]

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

    Definition Classes
    AnyRef
  29. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Transport

Inherited from AnyRef

Inherited from Any

Ungrouped