sig
  exception Error of string
  type socket
  and address
  val connect : string -> int -> Udp.socket
  val poll : Udp.socket -> float -> bool
  val send : Udp.socket -> ?dest:Udp.address -> string -> int -> int -> unit
  val recv : Udp.socket -> string -> int -> int -> int * Udp.address
  val create_socket : int -> Udp.socket
  val close : Udp.socket -> unit
  val describe_connection : Udp.address -> string
end