| h1. Double Barrier |
| |
| h2. Description |
| An implementation of the Distributed Double Barrier ZK recipe. |
| |
| Double barriers enable clients to synchronize the beginning and the end of a computation. When enough processes have |
| joined the barrier, processes start their computation and leave the barrier once they have finished. |
| |
| h2. Participating Classes |
| * DistributedDoubleBarrier |
| |
| h2. Usage |
| h3. Creating a DistributedBarrier |
| {code} |
| public DistributedDoubleBarrier(CuratorFramework client, |
| String barrierPath, |
| int memberQty) |
| Creates the barrier abstraction. memberQty is the number of members in the barrier. When enter() is called, it blocks until |
| all members have entered. When leave() is called, it blocks until all members have left. |
| |
| Parameters: |
| client - the client |
| barrierPath - path to use |
| memberQty - the number of members in the barrier |
| {code} |
| |
| h2. General Usage |
| To enter on the barrier: |
| {code} |
| public void enter(); |
| {code} |
| |
| To leave on the barrier: |
| {code} |
| public void leave(); |
| {code} |
| |
| h2. Error Handling |
| DistributedDoubleBarrier instances watch for connection loss and will throw an exception from {{enter()}} and/or {{leave()}}. |