Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Dns.ProbeImplements the core of the unique name probing part of a Multicast DNS (mDNS) responder.
type datagram = Packet.t * Ipaddr.V4.t * intA DNS packet to be sent with its destination IP address and UDP port number.
type action = | NothingThe protocol is idle because all names have been confirmed unique.
*)| ToSend of datagramThe caller shall send the specified datagram.
| Delay of floatThe caller shall wait for the specified duration in seconds.
*)| ContinueThe caller should invoke do_probe again.
| NotReadyThe call was unexpected. This may indicate a bug in the caller, and should be logged.
*)| Stopstop has been called.
The I/O action that the caller of this module must take.
Marks a Name.t as unique. The name will be included in the next probe cycle.
Initiates the probe protocol and returns the I/O action that the caller should take.
After completing a ToSend action, call this function to continue the probe protocol.
After completing a Delay action, call this function to continue the probe protocol.
val is_first_complete : state -> boolReturns true if the first probe cycle has completed successfully.
Indicates whether the received datagram caused a restart of the probe cycle due to a conflict.
Call this function when an mDNS response packet is received, in order to check for conflicting resource records.
Call this function when an mDNS query packet is received, in order to check for simultaneous probe conflicts.
Returns true if the name has been confirmed unique (probed successfully). This is intended for controlling the cache flush bit.