include sig ... end
val field_or_cont_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> field_or_cont
val sexp_of_field_or_cont : field_or_cont ‑> Ppx_sexp_conv_lib.Sexp.t
module Seq : sig ... end
module Par : sig ... end
include Vlr.Result with type t := t
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> t
val sexp_of_t : t ‑> Ppx_sexp_conv_lib.Sexp.t
val hash_fold_t : Ppx_hash_lib.Std.Hash.state ‑> t ‑> Ppx_hash_lib.Std.Hash.state
val hash : t ‑> Ppx_hash_lib.Std.Hash.hash_value
val to_string : t ‑> string
val one : t
val zero : t
negate action
implements negation for the zero
and one
actions. Any
non-zero
action will be mapped to zero
by this function.
val to_policy : t ‑> Syntax.policy
to_policy a
converts an action to a NetKAT policy. Since it's only modifications, it will have no predicates
val to_sdn : ?group_tbl:Frenetic_kernel.GroupTable0x04.t ‑> Core.Int64.t option ‑> t ‑> Frenetic_kernel.OpenFlow.par
to_sdn switch action
converts a NetKAT action to an SDN action. At the moment this function
assumes that fields are assigned to proper bitwidth integers, and does
no validation along those lines. If the input is derived from a NetKAT
surface syntax program, then this assumption likely holds.
val get_queries : t ‑> string list
get_queries action
returns a list of queries used in actions. May have dupes.
val to_string : t ‑> string