hazelcast-client
Version:
Hazelcast - open source In-Memory Data Grid - client for NodeJS
15 lines (14 loc) • 593 B
TypeScript
/// <reference types="bluebird" />
/// <reference types="long" />
import * as Promise from 'bluebird';
import Long = require('long');
import { DistributedObject } from '../DistributedObject';
export interface ISemaphore extends DistributedObject {
init(permits: number): Promise<boolean>;
acquire(permits?: number): Promise<void>;
availablePermits(): Promise<number>;
drainPermits(): Promise<number>;
reducePermits(reduction: number): Promise<void>;
release(permits?: number): Promise<void>;
tryAcquire(permits: number, timeout: Long | number): Promise<boolean>;
}