XYOracleNetwork/app-xyo-nodejs

View on GitHub
src/mutex.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { IXyoBoundWitnessMutexDelegate } from '@xyo-network/sdk-base-nodejs'

export class XyoMutexHandler implements IXyoBoundWitnessMutexDelegate {
  private someoneHasMutex = false

  public acquireMutex(): boolean {
    if (this.someoneHasMutex) {
      return false
    }

    this.someoneHasMutex = true
    return true
  }

  public releaseMutex(): boolean {
    this.someoneHasMutex = false
    return this.someoneHasMutex
  }
}