Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/grm/deps.ts>Semaphore

MTProto API Client for Deno 🦕
Go to Latest
class Semaphore
implements SemaphoreInterface
import { Semaphore } from "https://deno.land/x/grm@0.8.0/deps.ts";

Constructors

new
Semaphore(_value: number, _cancelError?: Error)

Properties

private
_cancelError
private
_dispatch
private
_drainUnlockWaiters
private
_newReleaser
private
_value
private
_weightedQueues
private
_weightedWaiters

Methods

acquire(weight?: number): Promise<[number, SemaphoreInterface.Releaser]>
cancel(): void
getValue(): number
isLocked(): boolean
release(weight?: number): void
runExclusive<T>(callback: SemaphoreInterface.Worker<T>, weight?: number): Promise<T>
setValue(value: number): void
waitForUnlock(weight?: number): Promise<void>