|
|
|
@@ -0,0 +1,63 @@ |
|
|
|
package reqbuilder |
|
|
|
|
|
|
|
import ( |
|
|
|
"gitlink.org.cn/cloudream/common/pkg/distlock" |
|
|
|
"gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" |
|
|
|
) |
|
|
|
|
|
|
|
type MetadataCacheLockReqBuilder struct { |
|
|
|
*MetadataLockReqBuilder |
|
|
|
} |
|
|
|
|
|
|
|
func (b *MetadataLockReqBuilder) Cache() *MetadataCacheLockReqBuilder { |
|
|
|
return &MetadataCacheLockReqBuilder{MetadataLockReqBuilder: b} |
|
|
|
} |
|
|
|
|
|
|
|
func (b *MetadataCacheLockReqBuilder) ReadOne(objectID int) *MetadataCacheLockReqBuilder { |
|
|
|
b.locks = append(b.locks, distlock.Lock{ |
|
|
|
Path: b.makePath("Cache"), |
|
|
|
Name: lockprovider.METADATA_ELEMENT_READ_LOCK, |
|
|
|
Target: *lockprovider.NewStringLockTarget().Add(objectID), |
|
|
|
}) |
|
|
|
return b |
|
|
|
} |
|
|
|
func (b *MetadataCacheLockReqBuilder) WriteOne(objectID int) *MetadataCacheLockReqBuilder { |
|
|
|
b.locks = append(b.locks, distlock.Lock{ |
|
|
|
Path: b.makePath("Cache"), |
|
|
|
Name: lockprovider.METADATA_ELEMENT_WRITE_LOCK, |
|
|
|
Target: *lockprovider.NewStringLockTarget().Add(objectID), |
|
|
|
}) |
|
|
|
return b |
|
|
|
} |
|
|
|
func (b *MetadataCacheLockReqBuilder) CreateOne() *MetadataCacheLockReqBuilder { |
|
|
|
b.locks = append(b.locks, distlock.Lock{ |
|
|
|
Path: b.makePath("Cache"), |
|
|
|
Name: lockprovider.METADATA_ELEMENT_CREATE_LOCK, |
|
|
|
Target: *lockprovider.NewStringLockTarget(), |
|
|
|
}) |
|
|
|
return b |
|
|
|
} |
|
|
|
func (b *MetadataCacheLockReqBuilder) ReadAny() *MetadataCacheLockReqBuilder { |
|
|
|
b.locks = append(b.locks, distlock.Lock{ |
|
|
|
Path: b.makePath("Cache"), |
|
|
|
Name: lockprovider.METADATA_SET_READ_LOCK, |
|
|
|
Target: *lockprovider.NewStringLockTarget(), |
|
|
|
}) |
|
|
|
return b |
|
|
|
} |
|
|
|
func (b *MetadataCacheLockReqBuilder) WriteAny() *MetadataCacheLockReqBuilder { |
|
|
|
b.locks = append(b.locks, distlock.Lock{ |
|
|
|
Path: b.makePath("Cache"), |
|
|
|
Name: lockprovider.METADATA_SET_WRITE_LOCK, |
|
|
|
Target: *lockprovider.NewStringLockTarget(), |
|
|
|
}) |
|
|
|
return b |
|
|
|
} |
|
|
|
func (b *MetadataCacheLockReqBuilder) CreateAny() *MetadataCacheLockReqBuilder { |
|
|
|
b.locks = append(b.locks, distlock.Lock{ |
|
|
|
Path: b.makePath("Cache"), |
|
|
|
Name: lockprovider.METADATA_SET_CREATE_LOCK, |
|
|
|
Target: *lockprovider.NewStringLockTarget(), |
|
|
|
}) |
|
|
|
return b |
|
|
|
} |