Documentation
¶
Index ¶
- Variables
- func AcquireProjectMutex(projectID int)
- func ReleaseProjectMutex(projectID int)
- func WithProjectMutex(projectID int, f func() error) error
- type ClientTransferCache
- type ClientTransferCacheI
- func (c *ClientTransferCacheI) GetTransferRequestFileByID(clientUUID string, projectID int, ownerID int, transferRequestFileID int) (*mcmodel.TransferRequestFile, error)
- func (c *ClientTransferCacheI) GetTransferRequestFileByIDNoLockHeld(clientUUID string, projectID int, ownerID int, transferRequestFileID int) (*mcmodel.TransferRequestFile, error)
- func (c *ClientTransferCacheI) GetTransferRequestFileByPath(clientUUID string, projectID int, ownerID int, path string) (*mcmodel.TransferRequestFile, error)
- func (c *ClientTransferCacheI) GetTransferRequestFileByPathNoLockHeld(clientUUID string, projectID int, ownerID int, path string) (*mcmodel.TransferRequestFile, error)
- func (c *ClientTransferCacheI) GetTransferRequestNoLockHeld(clientUUID string, projectID int, ownerID int) (*mcmodel.TransferRequest, error)
- func (c *ClientTransferCacheI) InsertClientTransferNoLockHeld(clientUUID string, ct *mcmodel.ClientTransfer)
- func (c *ClientTransferCacheI) InsertTransferRequestFileNoLockHeld(clientUUID string, trf *mcmodel.TransferRequestFile) error
- func (c *ClientTransferCacheI) WithWriteLockHeld(...) (*mcmodel.TransferRequestFile, error)
- type NoLockHeldClientTransferCache
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNoClientTransfer = errors.New("no client transfer")
View Source
var ErrNoMatchingClientTransferRequestFile = errors.New("no matching client transfer file found")
View Source
var FileTransferLocks = lock.NewIdLocker()
View Source
var ProjectLocks = lock.NewIdLocker()
Functions ¶
func AcquireProjectMutex ¶
func AcquireProjectMutex(projectID int)
func ReleaseProjectMutex ¶
func ReleaseProjectMutex(projectID int)
func WithProjectMutex ¶
Types ¶
type ClientTransferCache ¶ added in v1.0.1
type ClientTransferCache interface {
GetTransferRequestFileByPath(clientUUID string, projectID int, ownerID int, path string) (*mcmodel.TransferRequestFile, error)
GetTransferRequestFileByID(clientUUID string, projectID int, ownerID int, transferRequestFileID int) (*mcmodel.TransferRequestFile, error)
WithWriteLockHeld(fn func(cache NoLockHeldClientTransferCache) (*mcmodel.TransferRequestFile, error)) (*mcmodel.TransferRequestFile, error)
}
type ClientTransferCacheI ¶ added in v1.0.1
type ClientTransferCacheI struct {
// contains filtered or unexported fields
}
func NewClientTransferCache ¶ added in v1.0.1
func NewClientTransferCache() *ClientTransferCacheI
func (*ClientTransferCacheI) GetTransferRequestFileByID ¶ added in v1.0.1
func (c *ClientTransferCacheI) GetTransferRequestFileByID(clientUUID string, projectID int, ownerID int, transferRequestFileID int) (*mcmodel.TransferRequestFile, error)
func (*ClientTransferCacheI) GetTransferRequestFileByIDNoLockHeld ¶ added in v1.0.1
func (c *ClientTransferCacheI) GetTransferRequestFileByIDNoLockHeld(clientUUID string, projectID int, ownerID int, transferRequestFileID int) (*mcmodel.TransferRequestFile, error)
func (*ClientTransferCacheI) GetTransferRequestFileByPath ¶ added in v1.0.1
func (c *ClientTransferCacheI) GetTransferRequestFileByPath(clientUUID string, projectID int, ownerID int, path string) (*mcmodel.TransferRequestFile, error)
func (*ClientTransferCacheI) GetTransferRequestFileByPathNoLockHeld ¶ added in v1.0.1
func (c *ClientTransferCacheI) GetTransferRequestFileByPathNoLockHeld(clientUUID string, projectID int, ownerID int, path string) (*mcmodel.TransferRequestFile, error)
func (*ClientTransferCacheI) GetTransferRequestNoLockHeld ¶ added in v1.0.1
func (c *ClientTransferCacheI) GetTransferRequestNoLockHeld(clientUUID string, projectID int, ownerID int) (*mcmodel.TransferRequest, error)
func (*ClientTransferCacheI) InsertClientTransferNoLockHeld ¶ added in v1.0.1
func (c *ClientTransferCacheI) InsertClientTransferNoLockHeld(clientUUID string, ct *mcmodel.ClientTransfer)
func (*ClientTransferCacheI) InsertTransferRequestFileNoLockHeld ¶ added in v1.0.1
func (c *ClientTransferCacheI) InsertTransferRequestFileNoLockHeld(clientUUID string, trf *mcmodel.TransferRequestFile) error
func (*ClientTransferCacheI) WithWriteLockHeld ¶ added in v1.0.1
func (c *ClientTransferCacheI) WithWriteLockHeld(fn func(cache NoLockHeldClientTransferCache) (*mcmodel.TransferRequestFile, error)) (*mcmodel.TransferRequestFile, error)
type NoLockHeldClientTransferCache ¶ added in v1.0.1
type NoLockHeldClientTransferCache interface {
InsertClientTransferNoLockHeld(clientUUID string, cf *mcmodel.ClientTransfer)
InsertTransferRequestFileNoLockHeld(clientUUID string, trf *mcmodel.TransferRequestFile) error
GetTransferRequestFileByPathNoLockHeld(clientUUID string, projectID int, ownerID int, path string) (*mcmodel.TransferRequestFile, error)
GetTransferRequestFileByIDNoLockHeld(clientUUID string, projectID int, ownerID int, transferRequestFileId int) (*mcmodel.TransferRequestFile, error)
GetTransferRequestNoLockHeld(clientUUID string, projectID int, ownerID int) (*mcmodel.TransferRequest, error)
}
Click to show internal directories.
Click to hide internal directories.