trait Transport extends AnyRef

An SPI layer for implementing asynchronous transport mechanisms. The Transport is responsible for initializing the underlying transmission mechanism and setting up logical links between transport entities.

Transport implementations that are loaded dynamically by the remoting must have a constructor that accepts a com.typesafe.config.Config and an pekko.actor.ExtendedActorSystem as parameters.

Annotations
@deprecated
Deprecated

(Since version Akka 2.6.0) Classic remoting is deprecated, use Artery

Source
Transport.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Transport
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def associate(remoteAddress: Address): Future[AssociationHandle]

    Asynchronously opens a logical duplex link between two Transport Entities over a network.

    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.

    remoteAddress

    The address of the remote transport entity.

    returns

    A status instance representing failure or a success containing an pekko.remote.transport.AssociationHandle

  2. abstract def isResponsibleFor(address: Address): Boolean

    A function that decides whether the specific transport instance is responsible for delivering to a given address.

    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.
    returns

    whether the transport instance is responsible to serve communications to the given address.

  3. abstract def listen: Future[(Address, Promise[AssociationEventListener])]

    Asynchronously attempts to setup the transport layer to listen and accept incoming associations.

    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.

    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.

  4. abstract def maximumPayloadBytes: Int

    Defines the maximum size of payload this transport is able to deliver.

    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.

  5. abstract def schemeIdentifier: String

    Returns a string that will be used as the scheme part of the URLs corresponding to this transport

    Returns a string that will be used as the scheme part of the URLs corresponding to this transport

    returns

    the scheme string

  6. abstract def shutdown(): Future[Boolean]

    Shuts down the transport layer and releases all the corresponding resources.

    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.

    returns

    Future signalling the completion of shutdown

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Transport toany2stringadd[Transport] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Transport, B)
    Implicit
    This member is added by an implicit conversion from Transport toArrowAssoc[Transport] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  8. def ensuring(cond: (Transport) => Boolean, msg: => Any): Transport
    Implicit
    This member is added by an implicit conversion from Transport toEnsuring[Transport] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (Transport) => Boolean): Transport
    Implicit
    This member is added by an implicit conversion from Transport toEnsuring[Transport] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): Transport
    Implicit
    This member is added by an implicit conversion from Transport toEnsuring[Transport] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): Transport
    Implicit
    This member is added by an implicit conversion from Transport toEnsuring[Transport] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def managementCommand(cmd: Any): Future[Boolean]

    This method allows upper layers to send management commands to the 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.

    cmd

    Command message to the transport

    returns

    Future that succeeds when the command was handled or dropped

  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Transport toStringFormat[Transport] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (Transport, B)
    Implicit
    This member is added by an implicit conversion from Transport toArrowAssoc[Transport] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromTransport to any2stringadd[Transport]

Inherited by implicit conversion StringFormat fromTransport to StringFormat[Transport]

Inherited by implicit conversion Ensuring fromTransport to Ensuring[Transport]

Inherited by implicit conversion ArrowAssoc fromTransport to ArrowAssoc[Transport]

Ungrouped