sig
type t = java'util'concurrent'Phaser java_instance
val make : ?parent:Phaser.t -> ?parties:int32 -> unit -> Phaser.t
val arrive : Phaser.t -> java_int
val arrive_and_await_advance : Phaser.t -> java_int
val arrive_and_deregister : Phaser.t -> java_int
val await_advance : Phaser.t -> java_int -> java_int
val await_advance_interruptibly : Phaser.t -> java_int -> java_int
val await_advance_interruptibly_time :
Phaser.t -> java_int -> java_long -> TimeUnit.t -> java_int
val bulk_register : Phaser.t -> java_int -> java_int
val force_termination : Phaser.t -> unit
val get_arrived_parties : Phaser.t -> java_int
val get_parent : Phaser.t -> Phaser.t
val get_phase : Phaser.t -> java_int
val get_registered_parties : Phaser.t -> java_int
val get_root : Phaser.t -> Phaser.t
val get_unarrived_parties : Phaser.t -> java_int
val is_terminated : Phaser.t -> bool
val register : Phaser.t -> java_int
val null : Phaser.t
external is_null : Phaser.t -> bool = "java is_null"
external is_not_null : Phaser.t -> bool = "java is_not_null"
val wrap : Phaser.t -> Phaser.t option
val unwrap : Phaser.t option -> Phaser.t
end