module MakeMulticastFragmentation: functor (FrgFn : Fragmentor.FragmentorSig) -> functor (CommProt : Rmcast_types.CommProtSig) -> functor (AsyncTimer : Rmcast_types.AsynchronousTimerSig) -> functor (AutoMakeRecvDest : functor (InputType : InputTypesSig
with type receive_req = dest_request
and type msg =
(received_msg_t -> (unit -> unit) -> unit) * received_msg_t) -> Bounded_channel.AutoMakeBoundedChannelDestSig(InputType).TSig) -> functor (MakeRecvRequest : functor (Dsc : sigend) -> RecvRequestSig
with type dsc = Dsc.dsc) -> functor (BandwidthEstimator : Rmcast_types.BandwidthEstimatorSig) -> functor (FlowControlStatus : FlowControlStatusSig with type be_dsc = BandwidthEstimator.dsc) -> sig .. end
| Parameters: |
FrgFn |
: |
Fragmentor.FragmentorSig
|
CommProt |
: |
Rmcast_types.CommProtSig
|
AsyncTimer |
: |
Rmcast_types.AsynchronousTimerSig
|
AutoMakeRecvDest |
: |
functor (InputType : InputTypesSig
with type receive_req = dest_request
and type msg =
(received_msg_t -> (unit -> unit) -> unit) * received_msg_t) ->
AutoMakeBoundedChannelDestSig(InputType).TSig
|
MakeRecvRequest |
: |
functor(Dsc : sig type dsc end) -> RecvRequestSig
with type dsc = Dsc.dsc
|
BandwidthEstimator |
: |
Rmcast_types.BandwidthEstimatorSig
|
FlowControlStatus |
: |
FlowControlStatusSig with type be_dsc = BandwidthEstimator.dsc
|
|
type event = Rmcast_types.netcomm_event
type view_t = Rmcast_types.view_type
type data_t = Common_types.iovec
type received_msg_t = (Common_types.iovec * Common_types.proc_info) option list
val last_id : int Pervasives.ref
module type FragDescrSig = sig .. end
module MakeDscr: functor (SendBoundedChannelDsc : Rmcast_types.BoundedChannelDescrSetSig) -> functor (MulticastProt : Rmcast_types.MulticastProtSig) -> sig .. end
module MakeSendMessageType:
module McRecvBoundedChannelDest: functor (MsgType : InputTypesSig
with type receive_req = dest_request
and type msg =
(received_msg_t -> (unit -> unit) -> unit) * received_msg_t) -> functor (Types : sigend) -> sig .. end
module Dscr: MakeDscr(SendBoundedChannelDsc)(MulticastProt)
module SendMessageType: MakeSendMessageType(Dscr)
module SendBoundedChannelDsc: Bounded_channel_descriptor_set.MakeBoundedChannelDescr(SendMessageType)
module MulticastProt: Multicast_prot.MakeMulticastProtImpl(CommProt)(AsyncTimer)(McRecvBoundedChannelDest)(MakeRecvRequest)(BandwidthEstimator)(FlowControlStatus)
module RecvRequest: MakeRecvRequest(Dscr)
module MsgRecvRequest: Msg_recv_request.MakeMsgRecvRequest(RecvRequest)
type dsc = Dscr.dsc
type callback = dsc ->
event -> unit
val dref : SendBoundedChannelDsc.dsc_set
Pervasives.ref
val add_prot_header : 'a -> Iovec.t
val get_prot_header : Iovec.t -> 'a
val get_view_size : View.t -> int
val max_views_per_packet_fragment : int
val max_views_per_single_packet : int
val send_single_fragment : View.t -> 'a list -> bool
val partition_view : View.t -> View.t list -> View.t list
module SendMessageChannel: sig .. end
val get_msg : Dscr.dsc ->
(Iovec.t * Common_types.proc_info) option ->
(Iovec.t * Common_types.proc_info) option
module MakeRecieveMessageChannel: functor (MakeAutoMakeRecvDest : functor (InputType : InputTypesSig
with type receive_req = dest_request
and type msg =
(received_msg_t -> (unit -> unit) -> unit) * received_msg_t) -> Bounded_channel.AutoMakeBoundedChannelDestSig(InputType).TSig) -> sig .. end
module RecvMessageChannel: MakeRecieveMessageChannel(AutoMakeRecvDest)
val recieve_msg : (RecvRequest.received_msg_t ->
(unit -> unit) -> unit) ->
RecvRequest.dsc -> unit
val send_msg : Dscr.dsc ->
view_t ->
data_t ->
(unit -> unit) -> unit
val get_fd : Dscr.dsc ->
Unix.file_descr * Unix.file_descr
val dump_stats : Dscr.dsc ->
Pervasives.out_channel -> unit
val create : Common_types.proc_info ->
Common_types.proc_info ->
(Dscr.dsc ->
event -> unit) ->
Stat_info.stat_info ->
Stat_info.stat_info ->
Dscr.dsc
val recv_blocked : Dscr.dsc -> bool
val send_blocked : Dscr.dsc -> bool
val send_reopen : Dscr.dsc -> unit
val init : Dscr.dsc -> unit