collect-system/packages/tus/src/utils/models/Locker.ts

28 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-01-06 08:45:23 +08:00
export type RequestRelease = () => Promise<void> | void
/**
* Locker Lock
* 访
*/
export interface Locker {
newLock(id: string): Lock
}
/**
* Lock
* 访 TUS
* TCP
*
*
* - lock(id, cancelReq): 'id'
* 'cancelReq'
* 'cancelReq'
* 使
*
* - unlock(id): 'id' 'cancelReq'
*
*/
export interface Lock {
lock(cancelReq: RequestRelease): Promise<void>
unlock(): Promise<void>
}