TPromiseType

A transactional promise that blocks readers until it is completed.

Specification

Kind
Type
Members
5
Examples
0
makeSignature
TPromise.make
succeedSignature
TPromise.succeed value promise
failSignature
TPromise.fail error promise
awaitSignature
TPromise.await promise
pollSignature
TPromise.poll promise

Summary

NameSignatureSynopsis
Operations
makeTPromise.make Creates a pending transactional promise.
succeedTPromise.succeed value promiseCompletes the promise with a value; returns false when it was already completed.
failTPromise.fail error promiseCompletes the promise with a typed error; returns false when it was already completed.
awaitTPromise.await promiseReturns the completed value, retrying until the promise is completed.
pollTPromise.poll promiseReturns the completed value without retrying, or None when still pending.

Operations

kind:member

make

TPromise.make
Member
Creates a pending transactional promise.

Returns

STM<TPromise<'error, 'value>>
kind:member

succeed

TPromise.succeed value promise
Member
Completes the promise with a value; returns false when it was already completed.

Parameters

NameTypeDescription
value'value
promiseTPromise<'error, 'value>

Returns

STM<bool>
kind:member

fail

TPromise.fail error promise
Member
Completes the promise with a typed error; returns false when it was already completed.

Parameters

NameTypeDescription
error'error
promiseTPromise<'error, 'value>

Returns

STM<bool>
kind:member

await

TPromise.await promise
Member
Returns the completed value, retrying until the promise is completed.

Parameters

NameTypeDescription
promiseTPromise<'error, 'value>

Returns

STM<Result<'value, 'error>>
kind:member

poll

TPromise.poll promise
Member
Returns the completed value without retrying, or None when still pending.

Parameters

NameTypeDescription
promiseTPromise<'error, 'value>

Returns

STM<Result<'value, 'error> option>