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§
- Allow
AllGrants - 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.
- Handshake
Clock - The idle clock a
HandshakeStreamrestarts on every read or write that moves bytes, or none when no window watches the stream. - Raft
Connection - Authenticated controller-listener connection plus request-level grants.
Enums§
- Cluster
Operation - An operation on the
Cluster("kafka-cluster")resource that a controller-listener api needs. - Raft
Handshake Error
Traits§
- Cluster
Grants - Decides whether the principal of one controller-listener connection holds an operation on the cluster resource.
- Controller
ApiVersions - The controller listener’s
ApiVersionsanswer, for a handshake that answersApiVersionsbefore the listener gets the connection. - Raft
Listener Handshake - Per-connection handshake hook.
Type Aliases§
- Handshake
Stream - An accepted controller-listener connection, handed to
RaftListenerHandshake::upgrade.