Go to the latest version of this document.

# ``twisted`.`internet`.`interfaces`.`INegotiated``

interface documentation

`class INegotiated(ISSLTransport): (source)`

Known implementations: `twisted.protocols.tls.TLSMemoryBIOProtocol`

View In Hierarchy

A TLS based transport that supports using ALPN/NPN to negotiate the protocol to be used inside the encrypted tunnel.

Attribute | `negotiatedProtocol` | The protocol selected to be spoken using ALPN/NPN. The result from ALPN is preferred to the result from NPN if both were used. If the remote peer does not support ALPN or NPN, or neither NPN or ALPN are available on this machine, will be ...

Inherited from `ISSLTransport`:

Method | `getPeerCertificate` | Return an object with the peer's certificate info.

Inherited from `ITCPTransport` (via `ISSLTransport`):

Method | `abortConnection` | Close the connection abruptly.
Method | `getHost` | Returns `IPv4Address` or `IPv6Address`.
Method | `getPeer` | Returns `IPv4Address` or `IPv6Address`.
Method | `getTcpKeepAlive` | Return if `SO_KEEPALIVE` is enabled.
Method | `getTcpNoDelay` | Return if `TCP_NODELAY` is enabled.
Method | `loseWriteConnection` | Half-close the write side of a TCP connection.
Method | `setTcpKeepAlive` | Enable/disable `SO_KEEPALIVE`.
Method | `setTcpNoDelay` | Enable/disable `TCP_NODELAY`.

Inherited from `ITransport` (via `ISSLTransport`, `ITCPTransport`):

Method | `loseConnection` | Close my connection, after writing all pending data.
Method | `write` | Write some data to the physical connection, in sequence, in a non-blocking fashion.
Method | `writeSequence` | Write an iterable of byte strings to the physical connection.

negotiatedProtocol = (source)

The protocol selected to be spoken using ALPN/NPN. The result from ALPN is preferred to the result from NPN if both were used. If the remote peer does not support ALPN or NPN, or neither NPN or ALPN are available on this machine, will be `None`. Otherwise, will be the name of the selected protocol as `bytes`. Note that until the handshake has completed this property may incorrectly return `None`: wait until data has been received before trusting it (see https://twistedmatrix.com/trac/ticket/6024).