ConcurrencyControl Class
Beta
ConcurrencyControl enables an app to coordinate local changes with changes that are being made by others to an iModel.
Methods
Name | Description | |
---|---|---|
constructor(_iModel: IModelDb): ConcurrencyControl | ||
abandonRequest(): void | Abandon any pending requests for locks or codes. | |
areAvailable(requestContext: AuthorizedClientRequestContext, req?: ConcurrencyControl.Request): Promise<boolean> | Check to see if all of the requested resources could be acquired from iModelHub. | |
areCodesAvailable(requestContext: AuthorizedClientRequestContext, req?: ConcurrencyControl.Request): Promise<boolean> | Check to see if all of the codes in the specified request are available. | |
lockCodeSpecs(requestContext: AuthorizedClientRequestContext): Promise<Lock[]> | Obtain the CodeSpec lock. | |
lockSchema(requestContext: AuthorizedClientRequestContext): Promise<Lock[]> | Obtain the schema lock. | |
queryCodeStates(requestContext: AuthorizedClientRequestContext, specId: Id64String, scopeId: string, _value?: string): Promise<HubCode[]> | ||
request(requestContext: AuthorizedClientRequestContext, req?: ConcurrencyControl.Request): Promise<void> | Try to acquire locks and/or reserve codes from iModelHub. | |
reserveCodes(requestContext: AuthorizedClientRequestContext, codes: Code[]): Promise<HubCode[]> | Reserve the specified codes. | |
setPolicy(policy: ConcurrencyControl.PessimisticPolicy | ConcurrencyControl.OptimisticPolicy): void | Set the concurrency control policy. | |
convertRequestToAny(req: ConcurrencyControl.Request): any Static | Convert the request to any | |
createRequest(): ConcurrencyControl.Request Static | Create an empty Request |
Properties
Name | Type | Description | |
---|---|---|---|
codes Accessor ReadOnly | ConcurrencyControl.Codes | API to reserve Codes and query the status of Codes | |
hasPendingRequests Accessor ReadOnly | boolean | Are there pending, unprocessed requests for locks or codes? |
Defined in
Last Updated: 08 January, 2020