Class AkkaProtocolTransport
- java.lang.Object
-
- akka.remote.transport.AbstractTransportAdapter
-
- akka.remote.transport.ActorTransportAdapter
-
- akka.remote.transport.AkkaProtocolTransport
-
- All Implemented Interfaces:
SchemeAugmenter
,Transport
public class AkkaProtocolTransport extends ActorTransportAdapter
Implementation of the Akka protocol as a Transport that wraps an underlying Transport instance.Features provided by this transport are: - Soft-state associations via the use of heartbeats and failure detectors - Secure-cookie handling - Transparent origin address handling - pluggable codecs to encode and decode Akka PDUs
It is not possible to load this transport dynamically using the configuration of remoting, because it does not expose a constructor with
Config
andExtendedActorSystem
parameters. This transport is instead loaded automatically byRemoting
to wrap all the dynamically loaded transports.param: wrappedTransport the underlying transport that will be used for communication param: system the actor system param: settings the configuration options of the Akka protocol param: codec the codec that will be used to encode/decode Akka PDUs
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AkkaProtocolTransport.AssociateUnderlyingRefuseUid
static class
AkkaProtocolTransport.AssociateUnderlyingRefuseUid$
-
Nested classes/interfaces inherited from class akka.remote.transport.ActorTransportAdapter
ActorTransportAdapter.AssociateUnderlying, ActorTransportAdapter.AssociateUnderlying$, ActorTransportAdapter.DisassociateUnderlying, ActorTransportAdapter.DisassociateUnderlying$, ActorTransportAdapter.ListenerRegistered, ActorTransportAdapter.ListenerRegistered$, ActorTransportAdapter.ListenUnderlying, ActorTransportAdapter.ListenUnderlying$, ActorTransportAdapter.TransportOperation
-
Nested classes/interfaces inherited from interface akka.remote.transport.Transport
Transport.ActorAssociationEventListener, Transport.ActorAssociationEventListener$, Transport.AssociationEvent, Transport.AssociationEventListener, Transport.InboundAssociation, Transport.InboundAssociation$, Transport.InvalidAssociationException, Transport.InvalidAssociationException$
-
-
Constructor Summary
Constructors Constructor Description AkkaProtocolTransport(Transport wrappedTransport, ActorSystem system, AkkaProtocolSettings settings, AkkaPduCodec codec)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
addedSchemeIdentifier()
static int
AkkaOverhead()
static java.lang.String
AkkaScheme()
scala.concurrent.Future<AkkaProtocolHandle>
associate(Address remoteAddress, scala.Option<java.lang.Object> refuseUid)
scala.concurrent.Future<java.lang.Object>
managementCommand(java.lang.Object cmd)
This method allows upper layers to send management commands to the transport.protected java.lang.String
managerName()
protected Props
managerProps()
int
maximumOverhead()
static java.util.concurrent.atomic.AtomicInteger
UniqueId()
-
Methods inherited from class akka.remote.transport.ActorTransportAdapter
AskTimeout, interceptAssociate, interceptListen, manager, manager_$eq, shutdown
-
Methods inherited from class akka.remote.transport.AbstractTransportAdapter
associate, boundAddress, ec, isResponsibleFor, listen, maximumPayloadBytes, schemeIdentifier, wrappedTransport
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface akka.remote.transport.SchemeAugmenter
augmentScheme, augmentScheme, removeScheme, removeScheme
-
-
-
-
Constructor Detail
-
AkkaProtocolTransport
public AkkaProtocolTransport(Transport wrappedTransport, ActorSystem system, AkkaProtocolSettings settings, AkkaPduCodec codec)
-
-
Method Detail
-
AkkaScheme
public static java.lang.String AkkaScheme()
-
AkkaOverhead
public static int AkkaOverhead()
-
UniqueId
public static java.util.concurrent.atomic.AtomicInteger UniqueId()
-
addedSchemeIdentifier
public java.lang.String addedSchemeIdentifier()
-
managementCommand
public scala.concurrent.Future<java.lang.Object> managementCommand(java.lang.Object cmd)
Description copied from interface:Transport
This method allows upper layers to send management commands to the transport. It is the responsibility of the sender to send appropriate commands to different transport implementations. Unknown commands will be ignored.- Parameters:
cmd
- Command message to the transport- Returns:
- Future that succeeds when the command was handled or dropped
-
associate
public scala.concurrent.Future<AkkaProtocolHandle> associate(Address remoteAddress, scala.Option<java.lang.Object> refuseUid)
-
maximumOverhead
public int maximumOverhead()
- Specified by:
maximumOverhead
in classAbstractTransportAdapter
-
managerName
protected java.lang.String managerName()
- Specified by:
managerName
in classActorTransportAdapter
-
managerProps
protected Props managerProps()
- Specified by:
managerProps
in classActorTransportAdapter
-
-