package krb

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

A collection of supported Conn_type.t in (optional) order of preference.

The following algorithm is used when negotiating connection types:

Any a1/Any a2 => Strongest connection type in both a1 and a2

Any a/Prefer p => First connection type in p that is in a

Prefer p1/Prefer p2 => Let p1' be the filtered list p1 with only elements that are members of p2. Let p2' be the equivalent filtered list p2. If the head of p1' and p2' are the same, use that connection type. Otherwise, use the strongest connection in both p1' and p2'

type t =
  1. | Prefer of Conn_type.t list
  2. | Any of Conn_type.Set.t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t -> t -> int
include Ppx_hash_lib.Hashable.S with type t := t
val hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
val hash : t -> Base.Hash.hash_value
val sexp_of_t : t -> Sexplib0.Sexp.t
val accept_only : Conn_type.t -> t
val accept_all : t

accept_all and accept_safe_priv express no preference

val accept_safe_priv : t
val prefer_speed : t

prefer_speed and prefer_strength allow all connection types but express a preference

val prefer_strength : t
val to_set : t -> Conn_type.Set.t
val filter : t -> only_in:t -> t
val negotiate : us:t -> peer:t -> Conn_type.t Core.Or_error.t
val optional_flag : t option Core.Command.Param.t
module Stable : sig ... end