functor
(Config : sig
type message
type request
module Make :
functor
(ToChannel : sig
type to_chan
type send_req = request
val send_request :
to_chan -> send_req -> unit
end) ->
sig
val start : ToChannel.to_chan -> unit
val retrieve_message :
ToChannel.to_chan -> request -> message
end
end) ->
functor (Types : sig type d_t type c_t end) ->
sig
type group_dsc =
Channel_factory.MakeTransportChanTypes(DescriptorTypes).group_dsc
type seq_dsc =
Channel_factory.MakeTransportChanTypes(DescriptorTypes).seq_dsc
type viewmgr_dsc =
Channel_factory.MakeTransportChanTypes(DescriptorTypes).viewmgr_dsc
type transport_dsc =
Channel_factory.MakeTransportChanTypes(DescriptorTypes).transport_dsc
type msg = Config.message
type req = Config.request
type s_t = unit
type d_t = Types.d_t
type c_t = Types.c_t
type dsc = s_t * d_t * c_t
val init : 'a -> 'b -> unit lazy_t
module type ToBoundedChannelSig =
sig
type to_chan = dsc
type send_req = req
val send_request : to_chan -> send_req -> unit
end
module Make :
functor (ToChannel : ToBoundedChannelSig) ->
sig
type src = dsc
type m = msg
type req = ToChannel.send_req
val start : ToChannel.to_chan -> unit
val retrieve_message :
ToChannel.to_chan -> Config.request -> Config.message
end
end