Packages

package scaladsl

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Value Members

  1. object EventSource

    This stream processing stage establishes a continuous source of server-sent events from the given URI.

    This stream processing stage establishes a continuous source of server-sent events from the given URI.

    A single source of server-sent events is obtained from the URI. Once completed, either normally or by failure, a next one is obtained thereby sending a Last-Event-ID header if available. This continues in an endless cycle.

    This endless cycle means that if the connection is interrupted, reconnection attempts will continue forever. This can be problematic if, for example, the connection fails due to an oversized line or event being received from the server. By default, an oversized SSE line or event will cause pekko-http to fail the stream. If the stream fails, this connector will establish a new connection and attempt to continue processing using Last-Event-ID. Reconsuming the oversized payload will fail the stream again, causing an infinite retry loop. This infinite loop can look like the connector getting stuck at the same point in the stream. Since the opinionated design of this connector is to retry forever, the connection error will be logged but only at the INFO level. You can use optional pekko-http configuration settings to define alternate handling of oversized SSE lines and events instead of failing the stream. See: pekko.http.sse.oversized-line-handling and oversized-event-handling.

    The shape of this processing stage is a source of server-sent events; to take effect it must be connected and run. Progress (including termination) is controlled by the connected flow or sink, e.g. a retry delay can be implemented by streaming the materialized values of the handler via a throttle.

    + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
                                                  +---------------------+
    |                                             |       trigger       | |
                                                  +----------o----------+
    |                                                        |            |
                                               Option[String]|
    |                                                        v            |
                 Option[String]                   +----------o----------+
    |            +------------------------------->o        merge        | |
                 |                                +----------o----------+
    |            |                                           |            |
                 |                             Option[String]|
    |            |                                           v            |
      +--------o--------+                         +----------o----------+
    | |   lastEventId   |                         |   continuousEvents  | |
      +--------o--------+                         +----------o----------+
    |            ^                                           |            |
                 |     ServerSentEvent (including delimiters)|
    |            |                                           v            |
                 |                                +----------o----------+
    |            +--------------------------------o        bcast        | |
                 ServerSentEvent (incl. delim.)   +----------o----------+
    |                                                        |            |
                       ServerSentEvent (including delimiters)|
    |                                                        v            |
                                                  +----------o----------+
    |                                  +----------o       events        | |
                        ServerSentEvent|          +---------------------+
    |                                  v                                  |
     - - - - - - - - - - - - - - - - - o - - - - - - - - - - - - - - - - -

Ungrouped