sig
exception Not_activated
class signaller :
object
method lock : unit -> unit
method signal : unit -> unit
method unlock : unit -> unit
method wait : unit -> unit
end
class virtual transport_invoker : object method virtual queued : bool end
class ['a, 'b] transport :
Compartment.signaller * 'a Queue.t * 'b Queue.t ->
object
method get_invoker : Compartment.transport_invoker
method pop : 'a
method popall : 'a list
method push : 'b -> unit
method pushlist : 'b list -> unit
method queued : bool
end
class ['a, 'b] duplex :
Compartment.signaller ->
object
method side1 : ('a, 'b) Compartment.transport
method side2 : ('b, 'a) Compartment.transport
end
class virtual t :
Compartment.transport_invoker list ->
object
method virtual activate : unit
method virtual deactivate : unit
method get_runcond : unit -> bool
method virtual runpass : unit -> unit
method set_runcond : bool -> unit
end
class master :
Compartment.t list ->
object
method activate : unit
method deactivate : unit
method get_combined_runcond : unit -> bool
method orderly_run : unit -> bool
end
end