Documentation
¶
Index ¶
- func CalculateBreakRange(startPieceNum, pieceContSize int, rangeLength int64) (string, error)
- func CalculatePieceNum(rangeStr string) int
- func CalculatePieceRange(pieceNum int, pieceSize int32) string
- func CalculatePieceSize(rangeStr string) int64
- func GetLock(key string, ro bool)
- func ParsePieceIndex(rangeStr string) (start, end int64, err error)
- func ReleaseLock(key string, ro bool)
- type LockerPool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateBreakRange ¶
CalculateBreakRange calculates the start and end of piece with the following formula:
start = pieceNum * pieceSize end = rangeLength - 1
The different with the CalculatePieceRange function is that the end is calculated by rangeLength which is passed in by the caller itself.
func CalculatePieceNum ¶
CalculatePieceNum calculates the number of piece according to the parameter range.
func CalculatePieceRange ¶
CalculatePieceRange calculates the start and end of piece with the following formula:
start = pieceNum * pieceSize end = start + pieceSize - 1
func CalculatePieceSize ¶ added in v1.0.0
CalculatePieceSize calculates the size of piece according to the parameter range.
func ParsePieceIndex ¶ added in v1.0.0
ParsePieceIndex parses the start and end index according to range string.
func ReleaseLock ¶ added in v1.0.0
ReleaseLock unlocks key with defaultLocker.
Types ¶
type LockerPool ¶
LockerPool is a set of reader/writer mutual exclusion locks.
func NewLockerPool ¶
func NewLockerPool() *LockerPool
NewLockerPool returns a *LockerPool with self-defined prefix.
func (*LockerPool) GetLock ¶
func (l *LockerPool) GetLock(key string, ro bool)
GetLock locks key. If ro(readonly) is true, then it locks key for reading. Otherwise, locks key for writing.
func (*LockerPool) ReleaseLock ¶
func (l *LockerPool) ReleaseLock(key string, ro bool)
ReleaseLock unlocks key. If ro(readonly) is true, then it unlocks key for reading. Otherwise, unlocks key for writing.