util

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalculateBreakRange

func CalculateBreakRange(startPieceNum, pieceContSize int, rangeLength int64) (string, error)

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

func CalculatePieceNum(rangeStr string) int

CalculatePieceNum calculates the number of piece according to the parameter range.

func CalculatePieceRange

func CalculatePieceRange(pieceNum int, pieceSize int32) string

CalculatePieceRange calculates the start and end of piece with the following formula:

start = pieceNum * pieceSize
end = start + pieceSize - 1

Types

type LockerPool

type LockerPool struct {
	sync.Mutex
	// contains filtered or unexported fields
}

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL