-
Notifications
You must be signed in to change notification settings - Fork 7
/
data_object_lock.go
37 lines (32 loc) · 1.18 KB
/
data_object_lock.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package types
// DataObjectLockType is a type for data object lock type
type DataObjectLockType string
const (
// DataObjectLockTypeRead is for read lock
DataObjectLockTypeRead DataObjectLockType = "readLockType"
// DataObjectLockTypeWrite is for write lock
DataObjectLockTypeWrite DataObjectLockType = "writeLockType"
// DataObjectLockTypeWrite is for write lock
DataObjectLockTypeUnlock DataObjectLockType = "unlockType"
)
// GetFileOpenMode returns FileOpenMode
func (t DataObjectLockType) GetFileOpenMode() FileOpenMode {
switch t {
case DataObjectLockTypeRead:
return FileOpenModeReadOnly
case DataObjectLockTypeWrite:
return FileOpenModeWriteOnly
default:
return FileOpenModeReadOnly
}
}
// DataObjectLockCommand is a type for data object lock command
type DataObjectLockCommand string
const (
// DataObjectLockCommandSetLock is for set lock command
DataObjectLockCommandSetLock DataObjectLockCommand = "setLockCmd"
// DataObjectLockCommandSetLockWait is for set lock wait command
DataObjectLockCommandSetLockWait DataObjectLockCommand = "setLockWaitCmd"
// DataObjectLockCommandGetLock is for get lock command
DataObjectLockCommandGetLock DataObjectLockCommand = "getLockCmd"
)