Class AbstractTransportAdapter

java.lang.Object
org.apache.pekko.remote.transport.AbstractTransportAdapter
All Implemented Interfaces:
SchemeAugmenter, Transport
Direct Known Subclasses:
ActorTransportAdapter

public abstract class AbstractTransportAdapter extends Object implements Transport, SchemeAugmenter
Deprecated.
Classic remoting is deprecated, use Artery. Since Akka 2.6.0.
An adapter that wraps a transport and provides interception
  • Constructor Details

    • AbstractTransportAdapter

      public AbstractTransportAdapter(Transport wrappedTransport, scala.concurrent.ExecutionContext ec)
      Deprecated.
  • Method Details

    • associate

      public scala.concurrent.Future<AssociationHandle> associate(Address remoteAddress)
      Deprecated.
      Description copied from interface: Transport
      Asynchronously opens a logical duplex link between two Transport Entities over a network. It could be backed by a real transport-layer connection (TCP), more lightweight connections provided over datagram protocols (UDP with additional services), substreams of multiplexed connections (SCTP) or physical links (serial port).

      This call returns a future of an pekko.remote.transport.AssociationHandle. A failed future indicates that the association attempt was unsuccessful. If the exception is pekko.remote.transport.Transport.InvalidAssociationException then the association request was invalid, and it is impossible to recover.

      Specified by:
      associate in interface Transport
      Parameters:
      remoteAddress - The address of the remote transport entity.
      Returns:
      A status instance representing failure or a success containing an pekko.remote.transport.AssociationHandle
    • ec

      public scala.concurrent.ExecutionContext ec()
      Deprecated.
    • interceptAssociate

      protected abstract void interceptAssociate(Address remoteAddress, scala.concurrent.Promise<AssociationHandle> statusPromise)
      Deprecated.
    • interceptListen

      protected abstract scala.concurrent.Future<Transport.AssociationEventListener> interceptListen(Address listenAddress, scala.concurrent.Future<Transport.AssociationEventListener> listenerFuture)
      Deprecated.
    • isResponsibleFor

      public boolean isResponsibleFor(Address address)
      Deprecated.
      Description copied from interface: Transport
      A function that decides whether the specific transport instance is responsible for delivering to a given address. The function must be thread-safe and non-blocking.

      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.

      Specified by:
      isResponsibleFor in interface Transport
      Returns:
      whether the transport instance is responsible to serve communications to the given address.
    • listen

      public scala.concurrent.Future<scala.Tuple2<Address,scala.concurrent.Promise<Transport.AssociationEventListener>>> listen()
      Deprecated.
      Description copied from interface: Transport
      Asynchronously attempts to setup the transport layer to listen and accept incoming associations. The result of the attempt is wrapped by a Future returned by this method. The pair contained in the future contains a Promise for an ActorRef. By completing this Promise with an pekko.remote.transport.Transport.AssociationEventListener, that listener becomes responsible for handling incoming associations. Until the Promise is not completed, no associations are processed.

      Specified by:
      listen in interface Transport
      Returns:
      A Future containing a pair of the bound local address and a Promise of an AssociationListener that must be completed by the consumer of the future.
    • maximumOverhead

      protected abstract int maximumOverhead()
      Deprecated.
    • maximumPayloadBytes

      public int maximumPayloadBytes()
      Deprecated.
      Description copied from interface: Transport
      Defines the maximum size of payload this transport is able to deliver. All transports MUST support at least 32kBytes (32000 octets) of payload, but some MAY support larger sizes.
      Specified by:
      maximumPayloadBytes in interface Transport
      Returns:
    • schemeIdentifier

      public String schemeIdentifier()
      Deprecated.
      Description copied from interface: Transport
      Returns a string that will be used as the scheme part of the URLs corresponding to this transport
      Specified by:
      schemeIdentifier in interface Transport
      Returns:
      the scheme string
    • shutdown

      public scala.concurrent.Future<Object> shutdown()
      Deprecated.
      Description copied from interface: Transport
      Shuts down the transport layer and releases all the corresponding resources. Shutdown is asynchronous signalling the end of the shutdown by completing the returned future.

      The transport SHOULD try flushing pending writes before becoming completely closed.

      Specified by:
      shutdown in interface Transport
      Returns:
      Future signalling the completion of shutdown
    • wrappedTransport

      protected Transport wrappedTransport()
      Deprecated.