functor (AsyncTimer : Rmcast_types.AsynchronousTimerSig) ->
functor (FlowControlStatus : Rmcast_types.FlowControlStatusSig) ->
functor (BandwidthEstimator : Rmcast_types.BandwidthEstimatorSig) ->
functor
(Transmiter : sig
type dsc
type be_dsc = BandwidthEstimator.dsc
type fc_dsc = FlowControlStatus.dsc
exception Write_would_block of dsc *
Rmcast_types.rm_msg_t * Iovec.t
val create :
Unix.file_descr ->
Unix.sockaddr ->
Common_types.proc_info ->
be_dsc ref -> be_dsc ref -> fc_dsc -> dsc
val set_callback :
dsc ->
(Common_types.proc_info ->
Rmcast_types.rm_msg_t -> int -> unit) ->
unit
val set_blocking_write_alert :
dsc -> (Unix.file_descr -> bool -> unit) -> unit
val add_headers :
dsc ->
Rmcast_types.rm_msg_t ->
(Rmcast_types.rm_msg_t -> Rmcast_types.rm_msg_t) ->
Common_types.iovec ->
Rmcast_types.rm_msg_t * Common_types.iovec
val get_outgoing_bandwidth_info :
dsc -> be_dsc * be_dsc * fc_dsc
val transmit_msg :
dsc ->
Rmcast_types.rm_msg_t ->
Common_types.iovec -> Common_types.iovec
end) ->
sig
type dsc
type tdsc = Transmiter.dsc
val create_dsc : tdsc -> dsc
val submit_msg :
dsc ->
tdsc *
(Rmcast_types.rm_msg_t *
(Rmcast_types.rm_msg_t -> Rmcast_types.rm_msg_t) *
Common_types.iovec) *
(unit -> unit) * bool -> unit
val reopen : dsc -> unit
val run : unit -> unit
end