val send_message : Async.Writer.t ‑> Frenetic_kernel.OpenFlow_Header.xid ‑> Frenetic_kernel.OpenFlow0x04.Message.t ‑> unit
val implement_flow : Async.Writer.t ‑> Frenetic_netkat.Local_compiler.t ‑> Frenetic_netkat.Local_compiler.flow_layout ‑> Frenetic_kernel.OpenFlow.switchId ‑> unit
val implement_tolerant_flow : Async.Writer.t ‑> Frenetic_netkat.Local_compiler.t ‑> Frenetic_kernel.Net.Net.Topology.t ‑> Frenetic_kernel.OpenFlow.switchId ‑> unit
val process_message : Frenetic_kernel.OpenFlow_Header.xid ‑> Frenetic_kernel.OpenFlow0x04.Message.t ‑> (Frenetic_kernel.OpenFlow_Header.xid ‑> Frenetic_kernel.OpenFlow0x04.Message.t ‑> unit) ‑> (Frenetic_kernel.OpenFlow.switchId ‑> unit) ‑> unit
val read_respond_loop : Async.Reader.t ‑> (Frenetic_kernel.OpenFlow_Header.xid ‑> Frenetic_kernel.OpenFlow0x04.Message.t ‑> unit) ‑> (Frenetic_kernel.OpenFlow.switchId ‑> unit) ‑> unit ‑> [ `Finished of unit | `Repeat of unit ] Async.Deferred.t