akka.remote.transport
Class AkkaProtocolTransport

java.lang.Object
  extended by akka.remote.transport.AbstractTransportAdapter
      extended by akka.remote.transport.ActorTransportAdapter
          extended by 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 com.typesafe.config.Config and ExtendedActorSystem parameters. This transport is instead loaded automatically by Remoting 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
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
AkkaProtocolTransport(Transport wrappedTransport, ActorSystem system, AkkaProtocolSettings settings, AkkaPduCodec codec)
           
 
Method Summary
 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, shutdown
 
Methods inherited from class akka.remote.transport.AbstractTransportAdapter
associate, 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 class AbstractTransportAdapter

managerName

protected java.lang.String managerName()
Specified by:
managerName in class ActorTransportAdapter

managerProps

protected Props managerProps()
Specified by:
managerProps in class ActorTransportAdapter