Documentation ¶
Index ¶
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
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.