Functor Fragmentation_layer.MakeMulticastFragmentation


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 : sig
type dsc 
end) -> 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: 
functor (Dscr : FragDescrSig) -> sig .. end
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 : sig
type s_t 
type c_t 
end) -> 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