object EventStreamClient
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0-M6) Use EventSource instead!
- Alphabetic
- By Inheritance
- EventStreamClient
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
apply[A](uri: Uri, handler: Sink[ServerSentEvent, A], send: (HttpRequest) ⇒ Future[HttpResponse], lastEventId: Option[String] = None)(implicit ec: ExecutionContext, mat: Materializer): Source[A, NotUsed]
This stream processing stage establishes and handles a quasi-continuous EventStream from the given URI.
This stream processing stage establishes and handles a quasi-continuous EventStream from the given URI.
A single EventStream is obtained from the URI and run with the given handler. Once completed, either normally or by failure, a next one is obtained thereby sending a Last-Evend-ID header if available. Hence obtaining and handling happens in an endless cycle.
The shape of this processing stage is a source of materialized values of the given handler. To take effect it must be run. Progress (including termination) is controlled by the connected sink, e.g. a retry delay can be implemented by streaming the materialized values of the handler into a throttle.
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +---------------------+ | | trigger | | +----------o----------+ | | | Option[String]| | v | Option[String] +----------o----------+ | +------------------------------->o merge | | | +----------o----------+ | | | | | Option[String]| | | v + - - - - - - - - - - - - - - - - - - - - - - - - - + | +----------o----------+ +----------o----------+ +--------------+ | | currentLastEventId | | getEvents | | | events | | | +----------o----------+ +----------o----------+ +-------o------+ | ^ | | | | | | Source[ServerSentEvent, Any]| | ServerSentEvent | | v | | | | | +----------o----------+ run +------------------------+ | | | handle |-------| | | | | | +----------o----------+ | | | | | | v v | | | (Future[Option[ServerSentEvent]], A)| +-------o------+ +-------o------+ | | v | | handler | | lastOption | | | | +----------o----------+ +-------x------+ +-------x------+ | +--------------------------------o unzip | | A Future[Option[ServerSentEvent]] | | Future[Option[ServerSentEvent]] +----------o----------+ - - - - - - - - - - - - -x- - - - - - - - - - - - - | | (A, Future[Option[ServerSentEvent]]) | A | | v | - - - - - - - - - - - - - - - - - - - - - - - - - - - - o - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- uri
URI with absolute path, e.g. "http://myserver/events
- handler
handler for ServerSentEvents
- lastEventId
initial value for Last-Evend-ID header, optional
- ec
implicit
ExecutionContext- mat
implicit
Materializer- returns
source of materialized values of the handler
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )