github.com/swiftstack/ProxyFS@v0.0.0-20210203235616-4017c267d62f/pfsagentd/LockManagementWithSharedLease.uml (about) 1 @startuml 2 3 scale 800 width 4 5 state None : No locks held 6 state SharedLockGranted: One or more SharedLocks held 7 state ExclusiveLockRequested : Transition to SharedLeasePromoting 8 9 [*] --> None 10 11 None --> SharedLockGranted : First SharedLock request 12 None --> ExclusiveLockRequested : ExclusiveLock request 13 14 SharedLockGranted --> SharedLockGranted : Subsequent SharedLock request 15 SharedLockGranted --> SharedLockGranted : Non-last SharedLock release 16 SharedLockGranted --> None : Last SharedLock release 17 18 SharedLockGranted --> ExclusiveLockRequested : ExclusiveLock request 19 20 @enduml