public class PoolInterfaceActor extends java.lang.Object implements akka.stream.actor.ActorSubscriber, akka.stream.actor.ActorPublisher<PoolFlow.RequestContext>, akka.macros.LogHelper
Outside interface:
The actor accepts PoolRequest
messages and completes their responsePromise
when the respective
response has arrived. Incoming PoolRequest
messages are not back-pressured but rather buffered in
a fixed-size ringbuffer if required. Requests that would cause a buffer overflow are completed with
a respective error. The user can prevent buffer overflows by configuring a max-open-requests
value
that is >= max-connections x pipelining-limit x number of respective client-flow materializations.
Inside interface: To the inside (i.e. the running connection pool flow) the gateway actor acts as request source (ActorPublisher) and response sink (ActorSubscriber).
Modifier and Type | Class and Description |
---|---|
static class |
PoolInterfaceActor.PoolRequest |
static class |
PoolInterfaceActor.PoolRequest$ |
static class |
PoolInterfaceActor.Shutdown$ |
akka.stream.actor.ActorSubscriber.OnSubscribe, akka.stream.actor.ActorSubscriber.OnSubscribe$
Constructor and Description |
---|
PoolInterfaceActor(PoolGateway gateway,
akka.stream.Materializer fm) |
Modifier and Type | Method and Description |
---|---|
void |
activateIdleTimeoutIfNecessary() |
akka.actor.ActorContext |
context() |
void |
dispatchRequest(PoolInterfaceActor.PoolRequest pr) |
akka.event.LoggingAdapter |
log() |
static akka.stream.impl.SeqActorNameImpl |
name() |
static akka.actor.Props |
props(PoolGateway gateway,
akka.stream.Materializer fm) |
scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> |
receive() |
akka.stream.actor.ZeroRequestStrategy$ |
requestStrategy() |
akka.actor.ActorRef |
self() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
$init$, akka$stream$actor$ActorSubscriber$_setter_$akka$stream$actor$ActorSubscriber$$state_$eq, akka$stream$actor$ActorSubscriber$$_canceled_$eq, akka$stream$actor$ActorSubscriber$$_canceled, akka$stream$actor$ActorSubscriber$$requested_$eq, akka$stream$actor$ActorSubscriber$$requested, akka$stream$actor$ActorSubscriber$$state, akka$stream$actor$ActorSubscriber$$subscription_$eq, akka$stream$actor$ActorSubscriber$$subscription, apply, aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, cancel, canceled, remainingRequested, request
$init$, akka$stream$actor$ActorPublisher$_setter_$akka$stream$actor$ActorPublisher$$state_$eq, akka$stream$actor$ActorPublisher$$demand_$eq, akka$stream$actor$ActorPublisher$$demand, akka$stream$actor$ActorPublisher$$lifecycleState_$eq, akka$stream$actor$ActorPublisher$$lifecycleState, akka$stream$actor$ActorPublisher$$scheduledSubscriptionTimeout_$eq, akka$stream$actor$ActorPublisher$$scheduledSubscriptionTimeout, akka$stream$actor$ActorPublisher$$state, akka$stream$actor$ActorPublisher$$subscriber_$eq, akka$stream$actor$ActorPublisher$$subscriber, apply, aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, isActive, isCanceled, isCompleted, isErrorEmitted, onComplete, onCompleteThenStop, onError, onErrorThenStop, onNext, subscriptionTimeout, totalDemand
public PoolInterfaceActor(PoolGateway gateway, akka.stream.Materializer fm)
public static akka.stream.impl.SeqActorNameImpl name()
public static akka.actor.Props props(PoolGateway gateway, akka.stream.Materializer fm)
public akka.actor.ActorContext context()
context
in interface akka.actor.Actor
public final akka.actor.ActorRef self()
self
in interface akka.actor.Actor
public akka.event.LoggingAdapter log()
log
in interface akka.macros.LogHelper
public akka.stream.actor.ZeroRequestStrategy$ requestStrategy()
requestStrategy
in interface akka.stream.actor.ActorSubscriber
public scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> receive()
receive
in interface akka.actor.Actor
public void dispatchRequest(PoolInterfaceActor.PoolRequest pr)
public void activateIdleTimeoutIfNecessary()