File size: 911 Bytes
cfbbc1a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * A simple barrier to synchronize flow of multiple async operations.
 */
export declare class Barrier {
    private currentCount;
    private targetCount;
    private promise;
    private resolve;
    constructor(targetCount: number);
    /**
     * Signal that a participant has reached the barrier.
     *
     * The barrier will be resolved once `targetCount` participants have reached it.
     */
    signal(): void;
    /**
     * Wait for the barrier to be resolved.
     *
     * @returns A promise that resolves when the barrier is resolved.
     */
    wait(): Promise<void>;
    /**
     * Signal that a participant has reached the barrier and wait for the barrier to be resolved.
     *
     * The barrier will be resolved once `targetCount` participants have reached it.
     *
     * @returns A promise that resolves when the barrier is resolved.
     */
    signalAndWait(): Promise<void>;
}