Package

com.outworkers.phantom

streams

Permalink

package streams

Just a wrapper module for enhancing phantom CassandraTable with reactive streams features.

In order to be used, please be sured to import the implicits into the scope.

import ReactiveCassandra._
val subscriber = CassandraTableInstance.subscriber()
See also

https://github.com/websudos/phantom

http://www.reactive-streams.org/

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. streams
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class BatchActor[CT <: CassandraTable[CT, T], T] extends Actor

    Permalink
  2. class BatchSubscriber[CT <: CassandraTable[CT, T], T] extends Subscriber[T]

    Permalink

    The Subscriber internal implementation based on Akka actors.

    The Subscriber internal implementation based on Akka actors.

    See also

    com.outworkers.phantom.streams.StreamedCassandraTable.subscriber()

  3. case class ErrorWrapper(err: Throwable) extends Product with Serializable

    Permalink
  4. implicit final class ExecutableQueryStreamsAugmenter[T <: CassandraTable[T, R], R, Limit <: LimitBound, Order <: OrderBound, Status <: ConsistencyBound, Chain <: WhereBound, PS <: HList] extends AnyVal

    Permalink
  5. implicit final class PreparedSelectQueryStream[T <: CassandraTable[T, _], R, Limit <: LimitBound] extends AnyVal

    Permalink
  6. implicit final class PublisherConverter[T] extends AnyVal

    Permalink
  7. trait RequestBuilder[CT <: CassandraTable[CT, T], T] extends AnyRef

    Permalink

    This is the typeclass that should be implemented for a given instance of T.

    This is the typeclass that should be implemented for a given instance of T. Every implementation of this typeclass should be provided implicitly in the scope in order to be used by the stream.

    implicit object MyRequestBuilderForT extends RequestBuilder[CT, T] {
     override def request(ct: CT, t: T): ExecutableStatement =
    ct.insert().value(_.name, t.name)
    }
    CT

    the concrete CassandraTable implementation type

    T

    the type of streamed elements

  8. implicit final class RootSelectBlockEnumerator[T <: CassandraTable[T, _], R] extends AnyVal

    Permalink
  9. implicit final class StreamedCassandraTable[CT <: CassandraTable[CT, T], T] extends AnyVal

    Permalink

    CT

    the concrete type inheriting from CassandraTable

    T

    the type of the streamed element

Value Members

  1. object BatchActor

    Permalink
  2. final val Iteratee: streams.iteratee.Iteratee.type

    Permalink
  3. def enumeratorToPublisher[T](enum: Enumerator[T], emptyElement: Option[T] = None): Publisher[T]

    Permalink

    Adapt an Enumerator to a Publisher.

    Adapt an Enumerator to a Publisher. Each Subscriber will be adapted to an Iteratee and applied to the Enumerator. Input of type Input.El will result in calls to onNext.

    Either onError or onComplete will always be invoked as the last call to the subscriber, the former happening if the enumerator fails with an error, the latter happening when the first of either Input.EOF is fed, or the enumerator completes.

    If emptyElement is None then Input of type Input.Empty will be ignored. If it is set to Some(x) then it will call onNext with the value x.

  4. package iteratee

    Permalink
  5. package lib

    Permalink
  6. def multiplyExact(x: Long, y: Long): Long

    Permalink

    Returns the product of the arguments, throwing an exception if the result overflows a long.

    Returns the product of the arguments, throwing an exception if the result overflows a long.

    x

    the first value

    y

    the second value

    returns

    the result

    Since

    1.8

    Exceptions thrown

    ArithmeticException if the result overflows a long

Inherited from AnyRef

Inherited from Any

Ungrouped