Skip to main content

Class: ResourceModerator<T>

Defined in: src/sdk/utils/resource/ResourceModerator.ts:27

Moderates access to a resource.

Type Parameters​

Type ParameterDefault type
Tvoid

Constructors​

Constructor​

new ResourceModerator<T>(resource): ResourceModerator<T>

Defined in: src/sdk/utils/resource/ResourceModerator.ts:37

Constructor.

Parameters​

ParameterTypeDescription
resourceTThis resource controlled by this moderator.

Returns​

ResourceModerator<T>

Methods​

claim()​

claim(consumer): void

Defined in: src/sdk/utils/resource/ResourceModerator.ts:47

Makes a claim to this moderator's resource. If the resource is not currently owned, or the claiming consumer has a higher priority than the current owner, access will attempt to pass to the claiming consumer. Otherwise, the claiming consumer will enter a queue. After entering the queue, a consumer will gain access to the claimed resource when all other consumers with a higher priority forfeit their claims to the resource.

Parameters​

ParameterTypeDescription
consumerResourceConsumer<T>The consumer claiming the resource.

Returns​

void


forfeit()​

forfeit(consumer): void

Defined in: src/sdk/utils/resource/ResourceModerator.ts:96

Forfeits a claim to this moderator's resource. If the consumer forfeiting its claim is the current owner of the resource, it will immediately lose access to the resource, and access will attempt to pass to the next-highest priority consumer with a claim to the resource. Otherwise, the forfeiting consumer will be removed from the queue to gain access to the resource.

Parameters​

ParameterTypeDescription
consumerResourceConsumer<T>The consumer that is forfeiting its claim.

Returns​

void