package krb

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

The following functions are used to reduce code duplication between this implementation and lib/krb_for_low_latency_transport. They implement the guts of kerberized_rpc.ml abstractly over a Protocol.Connection.

val handle_client : (module Krb_public__.Protocol_intf.Connection with type t = 'conn) -> ?heartbeat_config:Async.Rpc.Connection.Heartbeat_config.t -> ?handshake_timeout:Time_unix.Span.t -> (Client_identity.t -> Async.Socket.Address.Inet.t -> Async.Rpc.Connection.t -> 'a) -> 'a Async.Rpc.Implementations.t -> (Async.Socket.Address.Inet.t -> Async.Rpc.Transport.t -> 'conn -> unit Async.Deferred.t) Core.Staged.t
val handle_client_with_anon : (module Krb_public__.Protocol_intf.Connection with type t = 'conn) -> ?heartbeat_config:Async.Rpc.Connection.Heartbeat_config.t -> ?handshake_timeout:Time_unix.Span.t -> (Client_identity.t option -> Async.Socket.Address.Inet.t -> Async.Rpc.Connection.t -> 'a) -> 'a Async.Rpc.Implementations.t -> (Async.Socket.Address.Inet.t -> Async.Rpc.Transport.t -> 'conn option -> unit Async.Deferred.t) Core.Staged.t
val client : (module Krb_public__.Protocol_intf.Connection with type t = 'conn) -> ?heartbeat_config:Async.Rpc.Connection.Heartbeat_config.t -> ?implementations: (Server_principal.t -> 'a Async.Rpc.Connection.Client_implementations.t) -> ?description:Core.Info.t -> ?on_credential_forwarding_request: (Server_principal.t -> On_credential_forwarding_request.t) -> finish_handshake_by:Time_unix.t -> Async.Tcp.Where_to_connect.inet -> Async.Rpc.Transport.t -> 'conn -> Async.Rpc.Connection.t Async.Deferred.Or_error.t
module For_testing : sig ... end