Class PersistentConnection$

java.lang.Object
akka.http.impl.engine.http2.client.PersistentConnection$

public class PersistentConnection$ extends Object
INTERNAL API
  • Field Details

    • MODULE$

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

    • PersistentConnection$

      public PersistentConnection$()
  • Method Details

    • 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)