Skip to main content

Module handshake

Module handshake 

Source
Expand description

Pluggable inbound handshake for the controller listener.

This hook lets the broker terminate TLS and SASL on every accepted controller-listener connection before the raft frames start to flow. The trait abstraction keeps krabka-raft free of any dependency on krabka-broker and krabka-security.

Structs§

AllowAllGrants
The grants of a listener that installs no handshake: every operation is allowed. The broker always installs a handshake, so only a controller without a broker, such as a raft-only test, uses it.
HandshakeClock
The idle clock a HandshakeStream restarts on every read or write that moves bytes, or none when no window watches the stream.
RaftConnection
Authenticated controller-listener connection plus request-level grants.

Enums§

ClusterOperation
An operation on the Cluster("kafka-cluster") resource that a controller-listener api needs.
RaftHandshakeError

Traits§

ClusterGrants
Decides whether the principal of one controller-listener connection holds an operation on the cluster resource.
ControllerApiVersions
The controller listener’s ApiVersions answer, for a handshake that answers ApiVersions before the listener gets the connection.
RaftListenerHandshake
Per-connection handshake hook.

Type Aliases§

HandshakeStream
An accepted controller-listener connection, handed to RaftListenerHandshake::upgrade.