Class PersistentConnection$


  • public class PersistentConnection$
    extends java.lang.Object
    INTERNAL API
    • Field Detail

      • MODULE$

        public static final PersistentConnection$ MODULE$
        Static reference to the singleton instance of this Scala object.
    • Constructor Detail

      • PersistentConnection$

        public PersistentConnection$()
    • Method Detail

      • managedConnection

        public akka.stream.scaladsl.Flow<HttpRequest,​HttpResponse,​akka.NotUsed> managedConnection​(akka.stream.scaladsl.Flow<HttpRequest,​HttpResponse,​scala.concurrent.Future<Http.OutgoingConnection>> connectionFlow,
                                                                                                              Http2ClientSettings settings)
        Wraps a connection flow with transparent reconnection support.

        Backpressure logic:

        * when unconnected wait for pull on response side to pull request side * when first request comes in, establish connection and send initial request to connection * connection then drives backpressure logic, i.e. * it may pull regardless of outer demand * if it pulls and runs multiple requests concurrently, it must also buffer them internally * this stage will only ever buffer requests directly in the incoming request slot * outgoing responses are never buffer but we pull the connection only if there is outer demand

        Error reporting logic when connection breaks while requests are running: * generate error responses with 502 status code * custom attribute contains internal error information

        Parameters:
        connectionFlow - (undocumented)
        settings - (undocumented)
        Returns:
        (undocumented)