public class ArteryTransport extends RemoteTransport implements InboundContext
Modifier and Type | Class and Description |
---|---|
static class |
ArteryTransport.AeronTerminated |
static class |
ArteryTransport.InboundStreamMatValues |
static class |
ArteryTransport.InboundStreamMatValues$ |
static class |
ArteryTransport.ShutdownSignal$ |
static class |
ArteryTransport.ShuttingDown$ |
Constructor and Description |
---|
ArteryTransport(ExtendedActorSystem _system,
RemoteActorRefProvider _provider) |
Modifier and Type | Method and Description |
---|---|
scala.collection.immutable.Set<Address> |
addresses()
Address to be used in RootActorPath of refs generated for this transport.
|
Sink<EnvelopeBuffer,scala.concurrent.Future<Done>> |
aeronSink(OutboundContext outboundContext) |
Source<EnvelopeBuffer,AeronSource.ResourceLifecycle> |
aeronSource(int streamId,
EnvelopeBufferPool pool) |
scala.Option<java.nio.file.Path> |
afrFile() |
scala.Option<java.nio.channels.FileChannel> |
afrFileChannel() |
Association |
association(Address remoteAddress)
Lookup the outbound association for a given address.
|
OptionVal<Association> |
association(long uid)
Lookup the outbound association for a given UID.
|
static int |
autoSelectPort(java.lang.String hostname) |
UniqueAddress |
bindAddress() |
scala.concurrent.Future<Done> |
completeHandshake(UniqueAddress peer) |
Flow<EnvelopeBuffer,InboundEnvelope,Decoder.InboundCompressionAccess> |
createDecoder(ArterySettings settings,
InboundCompressions compressions,
EnvelopeBufferPool bufferPool) |
Flow<InboundEnvelope,InboundEnvelope,NotUsed> |
createDeserializer(EnvelopeBufferPool bufferPool) |
Flow<OutboundEnvelope,EnvelopeBuffer,Encoder.OutboundCompressionAccess> |
createEncoder(EnvelopeBufferPool pool) |
EventSink |
createFlightRecorderEventSink(boolean synchr) |
Address |
defaultAddress()
The default transport address of the ActorSystem
|
scala.Option<FlightRecorder> |
flightRecorder() |
OptionVal<Decoder.InboundCompressionAccess> |
inboundCompressionAccess()
Only access compression tables via the CompressionAccess
|
Sink<InboundEnvelope,scala.Tuple2<InboundControlJunction.ControlMessageSubject,scala.concurrent.Future<Done>>> |
inboundControlSink() |
Flow<EnvelopeBuffer,InboundEnvelope,Decoder.InboundCompressionAccess> |
inboundFlow(ArterySettings settings,
InboundCompressions compressions) |
Flow<EnvelopeBuffer,InboundEnvelope,NotUsed> |
inboundLargeFlow(ArterySettings settings) |
Sink<InboundEnvelope,scala.concurrent.Future<Done>> |
inboundSink(EnvelopeBufferPool bufferPool) |
boolean |
isShutdown() |
boolean |
largeMessageChannelEnabled() |
UniqueAddress |
localAddress()
The local inbound address.
|
Address |
localAddressForRemote(Address remote)
Resolves the correct local address to be used for contacting the given remote address
|
LoggingAdapter |
log()
A Logger that can be used to log issues that may occur
|
scala.concurrent.Future<java.lang.Object> |
managementCommand(java.lang.Object cmd)
Sends a management command to the underlying transport stack.
|
Sink<InboundEnvelope,scala.concurrent.Future<Done>> |
messageDispatcherSink() |
Sink<OutboundEnvelope,scala.Tuple2<Encoder.OutboundCompressionAccess,scala.concurrent.Future<Done>>> |
outbound(OutboundContext outboundContext) |
Sink<OutboundEnvelope,scala.Tuple2<OutboundControlJunction.OutboundControlIngress,scala.concurrent.Future<Done>>> |
outboundControl(OutboundContext outboundContext) |
Flow<OutboundEnvelope,EnvelopeBuffer,Encoder.OutboundCompressionAccess> |
outboundLane(OutboundContext outboundContext) |
Sink<OutboundEnvelope,scala.concurrent.Future<Done>> |
outboundLarge(OutboundContext outboundContext) |
Flow<OutboundEnvelope,OutboundEnvelope,NotUsed> |
outboundTestFlow(OutboundContext outboundContext) |
static java.lang.String |
ProtocolName() |
static RemoteActorRefProvider |
provider() |
void |
quarantine(Address remoteAddress,
scala.Option<java.lang.Object> uid,
java.lang.String reason)
Marks a remote system as out of sync and prevents reconnects until the quarantine timeout elapses.
|
void |
send(java.lang.Object message,
OptionVal<ActorRef> sender,
RemoteActorRef recipient)
Sends the given message to the recipient supplying the sender() if any
|
void |
sendControl(Address to,
ControlMessage message)
An inbound stage can send control message, e.g.
|
ArterySettings |
settings() |
scala.concurrent.Future<Done> |
shutdown()
Shuts down the remoting
|
void |
start()
Start up the transport, i.e.
|
static ExtendedActorSystem |
system() |
Flow<InboundEnvelope,InboundEnvelope,NotUsed> |
terminationHintReplier() |
void |
triggerCompressionAdvertisements(boolean actorRef,
boolean manifest)
INTERNAL API: for testing only.
|
static byte |
Version() |
provider, system
public ArteryTransport(ExtendedActorSystem _system, RemoteActorRefProvider _provider)
public static java.lang.String ProtocolName()
public static byte Version()
public static int autoSelectPort(java.lang.String hostname)
public static ExtendedActorSystem system()
public static RemoteActorRefProvider provider()
public LoggingAdapter log()
RemoteTransport
log
in class RemoteTransport
public scala.Option<java.nio.channels.FileChannel> afrFileChannel()
public scala.Option<java.nio.file.Path> afrFile()
public scala.Option<FlightRecorder> flightRecorder()
public OptionVal<Decoder.InboundCompressionAccess> inboundCompressionAccess()
public UniqueAddress bindAddress()
public UniqueAddress localAddress()
InboundContext
localAddress
in interface InboundContext
public Address defaultAddress()
RemoteTransport
defaultAddress
in class RemoteTransport
public scala.collection.immutable.Set<Address> addresses()
RemoteTransport
addresses
in class RemoteTransport
public Address localAddressForRemote(Address remote)
RemoteTransport
localAddressForRemote
in class RemoteTransport
remote
- the remote addresspublic boolean largeMessageChannelEnabled()
public EventSink createFlightRecorderEventSink(boolean synchr)
public ArterySettings settings()
settings
in interface InboundContext
public void start()
RemoteTransport
start
in class RemoteTransport
public scala.concurrent.Future<Done> shutdown()
RemoteTransport
shutdown
in class RemoteTransport
public boolean isShutdown()
public scala.concurrent.Future<java.lang.Object> managementCommand(java.lang.Object cmd)
RemoteTransport
managementCommand
in class RemoteTransport
cmd
- Command message to send to the transports.public void sendControl(Address to, ControlMessage message)
InboundContext
sendControl
in interface InboundContext
to
- (undocumented)message
- (undocumented)public void send(java.lang.Object message, OptionVal<ActorRef> sender, RemoteActorRef recipient)
RemoteTransport
send
in class RemoteTransport
message
- (undocumented)sender
- (undocumented)recipient
- (undocumented)public Association association(Address remoteAddress)
InboundContext
association
in interface InboundContext
remoteAddress
- (undocumented)public OptionVal<Association> association(long uid)
InboundContext
OptionVal.None
if the UID is unknown, i.e.
handshake not completed.association
in interface InboundContext
uid
- (undocumented)public scala.concurrent.Future<Done> completeHandshake(UniqueAddress peer)
completeHandshake
in interface InboundContext
public void quarantine(Address remoteAddress, scala.Option<java.lang.Object> uid, java.lang.String reason)
RemoteTransport
quarantine
in class RemoteTransport
remoteAddress
- Address of the remote system to be quarantineduid
- UID of the remote system, if the uid is not defined it will not be a strong quarantine but
the current endpoint writer will be stopped (dropping system messages) and the address will be gatedreason
- (undocumented)public Sink<OutboundEnvelope,scala.concurrent.Future<Done>> outboundLarge(OutboundContext outboundContext)
public Sink<OutboundEnvelope,scala.Tuple2<Encoder.OutboundCompressionAccess,scala.concurrent.Future<Done>>> outbound(OutboundContext outboundContext)
public Sink<EnvelopeBuffer,scala.concurrent.Future<Done>> aeronSink(OutboundContext outboundContext)
public Flow<OutboundEnvelope,EnvelopeBuffer,Encoder.OutboundCompressionAccess> outboundLane(OutboundContext outboundContext)
public Sink<OutboundEnvelope,scala.Tuple2<OutboundControlJunction.OutboundControlIngress,scala.concurrent.Future<Done>>> outboundControl(OutboundContext outboundContext)
public Flow<OutboundEnvelope,EnvelopeBuffer,Encoder.OutboundCompressionAccess> createEncoder(EnvelopeBufferPool pool)
public Source<EnvelopeBuffer,AeronSource.ResourceLifecycle> aeronSource(int streamId, EnvelopeBufferPool pool)
public Sink<InboundEnvelope,scala.concurrent.Future<Done>> messageDispatcherSink()
public Flow<EnvelopeBuffer,InboundEnvelope,Decoder.InboundCompressionAccess> createDecoder(ArterySettings settings, InboundCompressions compressions, EnvelopeBufferPool bufferPool)
public Flow<InboundEnvelope,InboundEnvelope,NotUsed> createDeserializer(EnvelopeBufferPool bufferPool)
public Flow<InboundEnvelope,InboundEnvelope,NotUsed> terminationHintReplier()
public Sink<InboundEnvelope,scala.concurrent.Future<Done>> inboundSink(EnvelopeBufferPool bufferPool)
public Flow<EnvelopeBuffer,InboundEnvelope,Decoder.InboundCompressionAccess> inboundFlow(ArterySettings settings, InboundCompressions compressions)
public Flow<EnvelopeBuffer,InboundEnvelope,NotUsed> inboundLargeFlow(ArterySettings settings)
public Sink<InboundEnvelope,scala.Tuple2<InboundControlJunction.ControlMessageSubject,scala.concurrent.Future<Done>>> inboundControlSink()
public Flow<OutboundEnvelope,OutboundEnvelope,NotUsed> outboundTestFlow(OutboundContext outboundContext)
public void triggerCompressionAdvertisements(boolean actorRef, boolean manifest)