Transport.ActorAssociationEventListener, Transport.ActorAssociationEventListener$, Transport.AssociationEvent, Transport.AssociationEventListener, Transport.InboundAssociation, Transport.InboundAssociation$, Transport.InvalidAssociationException, Transport.InvalidAssociationException$
Constructor and Description |
---|
NettyTransport(ExtendedActorSystem system,
com.typesafe.config.Config conf) |
NettyTransport(NettyTransportSettings settings,
ExtendedActorSystem system) |
Modifier and Type | Method and Description |
---|---|
static scala.Option<Address> |
addressFromSocketAddress(java.net.SocketAddress addr,
java.lang.String schemeIdentifier,
java.lang.String systemName,
scala.Option<java.lang.String> hostName) |
static scala.Option<Address> |
addressFromSocketAddress(java.net.SocketAddress addr,
java.lang.String schemeIdentifier,
java.lang.String systemName,
scala.Option<java.lang.String> hostName,
scala.Option<java.lang.Object> port) |
scala.concurrent.Future<java.net.InetSocketAddress> |
addressToSocketAddress(Address addr) |
scala.concurrent.Future<AssociationHandle> |
associate(Address remoteAddress)
Asynchronously opens a logical duplex link between two Transport Entities over a network.
|
Address |
boundAddress() |
org.jboss.netty.channel.group.DefaultChannelGroup |
channelGroup() |
scala.concurrent.ExecutionContext |
executionContext() |
static int |
FrameLengthFieldLength() |
static void |
gracefulClose(org.jboss.netty.channel.Channel channel,
scala.concurrent.ExecutionContext ec) |
boolean |
isResponsibleFor(Address address)
A function that decides whether the specific transport instance is responsible for delivering
to a given address.
|
scala.concurrent.Future<scala.Tuple2<Address,scala.concurrent.Promise<Transport.AssociationEventListener>>> |
listen()
Asynchronously attempts to setup the transport layer to listen and accept incoming associations.
|
static scala.concurrent.Future<java.lang.Object> |
managementCommand(java.lang.Object cmd) |
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
|
NettyTransportSettings |
settings() |
scala.concurrent.Future<java.lang.Object> |
shutdown()
Shuts down the transport layer and releases all the corresponding resources.
|
ExtendedActorSystem |
system() |
java.util.concurrent.ConcurrentHashMap<java.net.SocketAddress,AssociationHandle.HandleEventListener> |
udpConnectionTable()
INTERNAL API
|
static java.util.concurrent.atomic.AtomicInteger |
uniqueIdCounter() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
managementCommand
public NettyTransport(NettyTransportSettings settings, ExtendedActorSystem system)
public NettyTransport(ExtendedActorSystem system, com.typesafe.config.Config conf)
public static int FrameLengthFieldLength()
public static void gracefulClose(org.jboss.netty.channel.Channel channel, scala.concurrent.ExecutionContext ec)
public static java.util.concurrent.atomic.AtomicInteger uniqueIdCounter()
public static scala.Option<Address> addressFromSocketAddress(java.net.SocketAddress addr, java.lang.String schemeIdentifier, java.lang.String systemName, scala.Option<java.lang.String> hostName, scala.Option<java.lang.Object> port)
public static scala.Option<Address> addressFromSocketAddress(java.net.SocketAddress addr, java.lang.String schemeIdentifier, java.lang.String systemName, scala.Option<java.lang.String> hostName)
public static scala.concurrent.Future<java.lang.Object> managementCommand(java.lang.Object cmd)
public NettyTransportSettings settings()
public ExtendedActorSystem system()
public scala.concurrent.ExecutionContext executionContext()
public java.lang.String schemeIdentifier()
Transport
schemeIdentifier
in interface Transport
public int maximumPayloadBytes()
Transport
maximumPayloadBytes
in interface Transport
public final java.util.concurrent.ConcurrentHashMap<java.net.SocketAddress,AssociationHandle.HandleEventListener> udpConnectionTable()
public org.jboss.netty.channel.group.DefaultChannelGroup channelGroup()
public boolean isResponsibleFor(Address address)
Transport
The 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 Transport
address
- (undocumented)public scala.concurrent.Future<java.net.InetSocketAddress> addressToSocketAddress(Address addr)
public scala.concurrent.Future<scala.Tuple2<Address,scala.concurrent.Promise<Transport.AssociationEventListener>>> listen()
Transport
Transport.AssociationEventListener
, that
listener becomes responsible for handling incoming associations. Until the Promise is not completed, no associations
are processed.
public Address boundAddress()
public scala.concurrent.Future<AssociationHandle> associate(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 Transport
remoteAddress
- The address of the remote transport entity.AssociationHandle
public scala.concurrent.Future<java.lang.Object> shutdown()
Transport
The transport SHOULD try flushing pending writes before becoming completely closed.