class Tcp extends Extension

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

Instance Constructors

  1. new Tcp(system: ExtendedActorSystem)

Value Members

  1. def bind(interface: String, port: Int): Source[IncomingConnection, CompletionStage[ServerBinding]]

    Creates a Tcp.ServerBinding without specifying options.

    Creates a Tcp.ServerBinding without specifying options. It represents a prospective TCP server binding on the given endpoint.

    Please note that the startup of the server is asynchronous, i.e. after materializing the enclosing akka.stream.scaladsl.RunnableGraph the server is not immediately available. Only after the materialized future completes is the server ready to accept client connections.

  2. def bind(interface: String, port: Int, backlog: Int, options: Iterable[SocketOption], halfClose: Boolean, idleTimeout: Duration): Source[IncomingConnection, CompletionStage[ServerBinding]]

    Creates a Tcp.ServerBinding instance which represents a prospective TCP server binding on the given endpoint.

    Creates a Tcp.ServerBinding instance which represents a prospective TCP server binding on the given endpoint.

    Please note that the startup of the server is asynchronous, i.e. after materializing the enclosing akka.stream.scaladsl.RunnableGraph the server is not immediately available. Only after the materialized future completes is the server ready to accept client connections.

    interface

    The interface to listen on

    port

    The port to listen on

    backlog

    Controls the size of the connection backlog

    options

    TCP options for the connections, see akka.io.Tcp for details

    halfClose

    Controls whether the connection is kept open even after writing has been completed to the accepted TCP connections. If set to true, the connection will implement the TCP half-close mechanism, allowing the client to write to the connection even after the server has finished writing. The TCP socket is only closed after both the client and server finished writing. If set to false, the connection will immediately closed once the server closes its write side, independently whether the client is still attempting to write. This setting is recommended for servers, and therefore it is the default setting.

  3. def bindTls(interface: String, port: Int, sslContext: SSLContext, negotiateNewSession: NegotiateNewSession): Source[IncomingConnection, CompletionStage[ServerBinding]]

    Creates a Tcp.ServerBinding instance which represents a prospective TCP server binding on the given endpoint where all incoming and outgoing bytes are passed through TLS.

    Creates a Tcp.ServerBinding instance which represents a prospective TCP server binding on the given endpoint where all incoming and outgoing bytes are passed through TLS.

    See also

    Tcp.bind()

  4. def bindTls(interface: String, port: Int, sslContext: SSLContext, negotiateNewSession: NegotiateNewSession, backlog: Int, options: Iterable[SocketOption], halfClose: Boolean, idleTimeout: Duration): Source[IncomingConnection, CompletionStage[ServerBinding]]

    Creates a Tcp.ServerBinding instance which represents a prospective TCP server binding on the given endpoint where all incoming and outgoing bytes are passed through TLS.

    Creates a Tcp.ServerBinding instance which represents a prospective TCP server binding on the given endpoint where all incoming and outgoing bytes are passed through TLS.

    Annotations
    @ApiMayChange()
    See also

    Tcp.bind() Marked API-may-change to leave room for an improvement around the very long parameter list.

  5. def outgoingConnection(host: String, port: Int): Flow[ByteString, ByteString, CompletionStage[OutgoingConnection]]

    Creates an Tcp.OutgoingConnection without specifying options.

    Creates an Tcp.OutgoingConnection without specifying options. It represents a prospective TCP client connection to the given endpoint.

    Note that the ByteString chunk boundaries are not retained across the network, to achieve application level chunks you have to introduce explicit framing in your streams, for example using the Framing operators.

  6. def outgoingConnection(remoteAddress: InetSocketAddress, localAddress: Optional[InetSocketAddress], options: Iterable[SocketOption], halfClose: Boolean, connectTimeout: Duration, idleTimeout: Duration): Flow[ByteString, ByteString, CompletionStage[OutgoingConnection]]

    Creates an Tcp.OutgoingConnection instance representing a prospective TCP client connection to the given endpoint.

    Creates an Tcp.OutgoingConnection instance representing a prospective TCP client connection to the given endpoint.

    Note that the ByteString chunk boundaries are not retained across the network, to achieve application level chunks you have to introduce explicit framing in your streams, for example using the Framing operators.

    remoteAddress

    The remote address to connect to

    localAddress

    Optional local address for the connection

    options

    TCP options for the connections, see akka.io.Tcp for details

    halfClose

    Controls whether the connection is kept open even after writing has been completed to the accepted TCP connections. If set to true, the connection will implement the TCP half-close mechanism, allowing the server to write to the connection even after the client has finished writing. The TCP socket is only closed after both the client and server finished writing. This setting is recommended for clients and therefore it is the default setting. If set to false, the connection will immediately closed once the client closes its write side, independently whether the server is still attempting to write.

  7. def outgoingTlsConnection(remoteAddress: InetSocketAddress, sslContext: SSLContext, negotiateNewSession: NegotiateNewSession, localAddress: Optional[InetSocketAddress], options: Iterable[SocketOption], connectTimeout: Duration, idleTimeout: Duration): Flow[ByteString, ByteString, CompletionStage[OutgoingConnection]]

    Creates an Tcp.OutgoingConnection with TLS.

    Creates an Tcp.OutgoingConnection with TLS. The returned flow represents a TCP client connection to the given endpoint where all bytes in and out go through TLS.

    Annotations
    @ApiMayChange()
    See also

    Tcp.outgoingConnection() Marked API-may-change to leave room for an improvement around the very long parameter list.

  8. def outgoingTlsConnection(host: String, port: Int, sslContext: SSLContext, negotiateNewSession: NegotiateNewSession): Flow[ByteString, ByteString, CompletionStage[OutgoingConnection]]

    Creates an Tcp.OutgoingConnection with TLS.

    Creates an Tcp.OutgoingConnection with TLS. The returned flow represents a TCP client connection to the given endpoint where all bytes in and out go through TLS.

    See also

    Tcp.outgoingConnection()