public class PersistentConnection
extends java.lang.Object
Constructor and Description |
---|
PersistentConnection() |
Modifier and Type | Method and Description |
---|---|
static org.apache.pekko.stream.scaladsl.Flow<HttpRequest,HttpResponse,org.apache.pekko.NotUsed> |
managedConnection(org.apache.pekko.stream.scaladsl.Flow<HttpRequest,HttpResponse,scala.concurrent.Future<Http.OutgoingConnection>> connectionFlow,
Http2ClientSettings settings)
Wraps a connection flow with transparent reconnection support.
|
public static org.apache.pekko.stream.scaladsl.Flow<HttpRequest,HttpResponse,org.apache.pekko.NotUsed> managedConnection(org.apache.pekko.stream.scaladsl.Flow<HttpRequest,HttpResponse,scala.concurrent.Future<Http.OutgoingConnection>> connectionFlow, Http2ClientSettings settings)
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
connectionFlow
- (undocumented)settings
- (undocumented)