Blocked.ValueBlocked with a value.
This is the same API as Action.Blocked but for when you already know (and usually store) the value to synchronize with. Typically used for waiting actions tag synchronize with a user provided tag. For example Fun.Async.wait_cancelled, Port.offer', etc.
type 'a blocked := 'a texchange_waiting_to_synced (V (_, b)) is exchange_waiting_to_synced b.
exchange_waiting_to_claimed (V (_, b)) is exchange_waiting_to_claimed b.
val is_synced : t -> boolis_synced (V (_, b) is is_synced b.
val is_not_synced : t -> boolis_not_synced (V (_, b) is is_not_synced b.
val tricky_unblock : t -> unittricky_unblock (V (v, b) is tricky_unblock b v.
val synced_unblock : t -> unitsynced_unblock (V (v, b)) is synced_unblock ~candidate:v b.
val synced_unblock_is_ours : t -> boolsynced_unblock_is_ours (V (v, b)) is synced_unblock_is_ours ~candidate:v b.