ConsensusOrderedCollection Class
Implementation of a consensus collection shared object
Implements the shared object's communication, and the semantics around the release/complete mechanism following acquire.
Generally not used directly. A derived type will pass in a backing data type IOrderedCollection that will define the deterministic add/acquire order and snapshot ability.
Signature
export declare class ConsensusOrderedCollection<T = any> extends SharedObject<IConsensusOrderedCollectionEvents<T>> implements IConsensusOrderedCollection<T>
Extends: SharedObject<IConsensusOrderedCollectionEvents
Implements: IConsensusOrderedCollection
Type Parameters
| Parameter | Default | Description |
|---|---|---|
| T | any |
Constructors
| Constructor | Description |
|---|---|
| (constructor)(id, runtime, attributes, data) | Constructs a new consensus collection. If the object is non-local an id and service interfaces will be provided |
Methods
| Method | Return Type | Description |
|---|---|---|
| acquire(callback) | Promise<boolean> | Remove a value from the consensus collection. If the collection is empty, returns false. Otherwise calls callback with the value |
| add(value) | Promise<void> | Add a value to the consensus collection. |
| applyStashedOp() | void | |
| complete(acquireId) | Promise<void> | |
| completeCore(acquireId) | void | |
| isActive() | boolean | |
| loadCore(storage) | Promise<void> | |
| onDisconnect() | void | |
| processCore(message, local, localOpMetadata) | void | |
| release(acquireId) | void | |
| releaseCore(acquireId) | void | |
| summarizeCore(serializer) | ISummaryTreeWithStats | |
| waitAndAcquire(callback) | Promise<void> | Wait for a value to be available and acquire it from the consensus collection |
Constructor Details
(constructor)
Constructs a new consensus collection. If the object is non-local an id and service interfaces will be provided
Signature
protected constructor(id: string, runtime: IFluidDataStoreRuntime, attributes: IChannelAttributes, data: IOrderedCollection<T>);
Parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | |
| runtime | IFluidDataStoreRuntime | |
| attributes | IChannelAttributes | |
| data | IOrderedCollection<T> |
Method Details
acquire
Remove a value from the consensus collection. If the collection is empty, returns false. Otherwise calls callback with the value
Signature
acquire(callback: ConsensusCallback<T>): Promise<boolean>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| callback | ConsensusCallback<T> |
Returns
Return type: Promise<boolean>
add
Add a value to the consensus collection.
Signature
add(value: T): Promise<void>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| value | T |
Returns
Return type: Promise<void>
applyStashedOp
Signature
protected applyStashedOp(): void;
complete
Signature
protected complete(acquireId: string): Promise<void>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| acquireId | string |
Returns
Return type: Promise<void>
completeCore
Signature
protected completeCore(acquireId: string): void;
Parameters
| Parameter | Type | Description |
|---|---|---|
| acquireId | string |
isActive
Signature
protected isActive(): boolean;
Returns
Return type: boolean
loadCore
Signature
protected loadCore(storage: IChannelStorageService): Promise<void>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| storage | IChannelStorageService |
Returns
Return type: Promise<void>
onDisconnect
Signature
protected onDisconnect(): void;
processCore
Signature
protected processCore(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
Parameters
| Parameter | Type | Description |
|---|---|---|
| message | ISequencedDocumentMessage | |
| local | boolean | |
| localOpMetadata | unknown |
release
Signature
protected release(acquireId: string): void;
Parameters
| Parameter | Type | Description |
|---|---|---|
| acquireId | string |
releaseCore
Signature
protected releaseCore(acquireId: string): void;
Parameters
| Parameter | Type | Description |
|---|---|---|
| acquireId | string |
summarizeCore
Signature
protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
Parameters
| Parameter | Type | Description |
|---|---|---|
| serializer | IFluidSerializer |
Returns
Return type: ISummaryTreeWithStats
waitAndAcquire
Wait for a value to be available and acquire it from the consensus collection
Signature
waitAndAcquire(callback: ConsensusCallback<T>): Promise<void>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| callback | ConsensusCallback<T> |
Returns
Return type: Promise<void>