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 to negotiate the protocol to be used inside the encrypted tunnel.

Attribute | `negotiatedProtocol` | The protocol selected to be spoken using ALPN. If the remote peer does not support ALPN, or ALPN is not available via local TLS libraries, `negotiatedProtocol` will be `None`. Otherwise, `negotiatedProtocol`...

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: `bytes | None` = (source)

The protocol selected to be spoken using ALPN. If the remote peer does not support ALPN, or ALPN is not available via local TLS libraries, `negotiatedProtocol` will be `None`. Otherwise, `negotiatedProtocol` will be the name of the selected protocol as `bytes`. Until the TLS handshake has completed, this property may incorrectly return `None`: wait until data has been received before trusting it. See https://github.com/twisted/twisted/issues/6024.