pub trait TlsConnectionExtManual: IsA<TlsConnection> {
// Provided methods
fn channel_binding_data(
&self,
type_: TlsChannelBindingType,
) -> Result<ByteArray, Error> { ... }
fn set_advertised_protocols(&self, protocols: impl IntoStrV) { ... }
}
Provided Methods§
Sourcefn channel_binding_data(
&self,
type_: TlsChannelBindingType,
) -> Result<ByteArray, Error>
Available on crate feature v2_66
only.
fn channel_binding_data( &self, type_: TlsChannelBindingType, ) -> Result<ByteArray, Error>
v2_66
only.Query the TLS backend for TLS channel binding data of @type_ for @self.
This call retrieves TLS channel binding data as specified in RFC
5056, RFC
5929, and related RFCs. The
binding data is returned in @data. The @data is resized by the callee
using #GByteArray buffer management and will be freed when the @data
is destroyed by g_byte_array_unref(). If @data is None
, it will only
check whether TLS backend is able to fetch the data (e.g. whether @type_
is supported by the TLS backend). It does not guarantee that the data
will be available though. That could happen if TLS connection does not
support @type_ or the binding data is not available yet due to additional
negotiation or input required.
§type_
#GTlsChannelBindingType type of data to fetch
§Returns
true
on success, false
otherwise
§data
#GByteArray is
filled with the binding data, or None
Sourcefn set_advertised_protocols(&self, protocols: impl IntoStrV)
Available on crate feature v2_60
only.
fn set_advertised_protocols(&self, protocols: impl IntoStrV)
v2_60
only.Sets the list of application-layer protocols to advertise that the
caller is willing to speak on this connection. The
Application-Layer Protocol Negotiation (ALPN) extension will be
used to negotiate a compatible protocol with the peer; use
g_tls_connection_get_negotiated_protocol() to find the negotiated
protocol after the handshake. Specifying None
for the the value
of @protocols will disable ALPN negotiation.
See IANA TLS ALPN Protocol IDs for a list of registered protocol IDs.
§protocols
a None
-terminated
array of ALPN protocol names (eg, “http/1.1”, “h2”), or None
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.