public abstract class AbstractTransportAdapter extends java.lang.Object implements Transport, SchemeAugmenter
Transport.ActorAssociationEventListener, Transport.ActorAssociationEventListener$, Transport.AssociationEvent, Transport.AssociationEventListener, Transport.InboundAssociation, Transport.InboundAssociation$, Transport.InvalidAssociationException, Transport.InvalidAssociationException$| Constructor and Description |
|---|
AbstractTransportAdapter(Transport wrappedTransport,
scala.concurrent.ExecutionContext ec) |
| Modifier and Type | Method and Description |
|---|---|
scala.concurrent.Future<AssociationHandle> |
associate(akka.actor.Address remoteAddress)
Asynchronously opens a logical duplex link between two Transport Entities over a network.
|
akka.actor.Address |
boundAddress() |
scala.concurrent.ExecutionContext |
ec() |
protected abstract void |
interceptAssociate(akka.actor.Address remoteAddress,
scala.concurrent.Promise<AssociationHandle> statusPromise) |
protected abstract scala.concurrent.Future<Transport.AssociationEventListener> |
interceptListen(akka.actor.Address listenAddress,
scala.concurrent.Future<Transport.AssociationEventListener> listenerFuture) |
boolean |
isResponsibleFor(akka.actor.Address address)
A function that decides whether the specific transport instance is responsible for delivering
to a given address.
|
scala.concurrent.Future<scala.Tuple2<akka.actor.Address,scala.concurrent.Promise<Transport.AssociationEventListener>>> |
listen()
Asynchronously attempts to setup the transport layer to listen and accept incoming associations.
|
protected abstract int |
maximumOverhead() |
int |
maximumPayloadBytes()
Defines the maximum size of payload this transport is able to deliver.
|
java.lang.String |
schemeIdentifier()
Returns a string that will be used as the scheme part of the URLs corresponding to this transport
|
scala.concurrent.Future<java.lang.Object> |
shutdown()
Shuts down the transport layer and releases all the corresponding resources.
|
protected Transport |
wrappedTransport() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitmanagementCommandaddedSchemeIdentifier, augmentScheme, augmentScheme, removeScheme, removeSchemepublic AbstractTransportAdapter(Transport wrappedTransport, scala.concurrent.ExecutionContext ec)
protected Transport wrappedTransport()
public scala.concurrent.ExecutionContext ec()
protected abstract int maximumOverhead()
protected abstract scala.concurrent.Future<Transport.AssociationEventListener> interceptListen(akka.actor.Address listenAddress, scala.concurrent.Future<Transport.AssociationEventListener> listenerFuture)
protected abstract void interceptAssociate(akka.actor.Address remoteAddress,
scala.concurrent.Promise<AssociationHandle> statusPromise)
public java.lang.String schemeIdentifier()
TransportschemeIdentifier in interface Transportpublic boolean isResponsibleFor(akka.actor.Address address)
TransportThe purpose of this function is to resolve cases when the scheme part of an URL is not enough to resolve the correct transport i.e. multiple instances of the same transport implementation are loaded. These cases arise when - the same transport, but with different configurations is used for different remote systems - a transport is able to serve one address only (hardware protocols, e.g. Serial port) and multiple instances are needed to be loaded for different endpoints.
isResponsibleFor in interface Transportaddress - (undocumented)public int maximumPayloadBytes()
TransportmaximumPayloadBytes in interface Transportpublic scala.concurrent.Future<scala.Tuple2<akka.actor.Address,scala.concurrent.Promise<Transport.AssociationEventListener>>> listen()
TransportTransport.AssociationEventListener, that
listener becomes responsible for handling incoming associations. Until the Promise is not completed, no associations
are processed.
public akka.actor.Address boundAddress()
boundAddress in interface Transportpublic scala.concurrent.Future<AssociationHandle> associate(akka.actor.Address remoteAddress)
Transport
This call returns a future of an AssociationHandle. A failed future indicates that
the association attempt was unsuccessful. If the exception is Transport.InvalidAssociationException
then the association request was invalid, and it is impossible to recover.
associate in interface TransportremoteAddress - The address of the remote transport entity.AssociationHandlepublic scala.concurrent.Future<java.lang.Object> shutdown()
TransportThe transport SHOULD try flushing pending writes before becoming completely closed.