Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Error = errs.Class("segment error")
Error is the errs class of standard segment errors
Functions ¶
func CalcNeededNodes ¶
func CalcNeededNodes(rs storj.RedundancyScheme) int32
CalcNeededNodes calculate how many minimum nodes are needed for download, based on t = k + (n-o)k/o
Types ¶
type PeekThresholdReader ¶
type PeekThresholdReader struct {
// contains filtered or unexported fields
}
PeekThresholdReader allows a check to see if the size of a given reader exceeds the maximum inline segment size or not.
func NewPeekThresholdReader ¶
func NewPeekThresholdReader(r io.Reader) (pt *PeekThresholdReader)
NewPeekThresholdReader creates a new instance of PeekThresholdReader
func (*PeekThresholdReader) IsLargerThan ¶
func (pt *PeekThresholdReader) IsLargerThan(thresholdSize int) (bool, error)
IsLargerThan returns a bool to determine whether a reader's size is larger than the given threshold or not.
type SizedReader ¶
type SizedReader struct {
// contains filtered or unexported fields
}
SizedReader allows to check the total number of bytes read so far.
func SizeReader ¶
func SizeReader(r io.Reader) *SizedReader
SizeReader create a new instance of SizedReader.
func (*SizedReader) Read ¶
func (r *SizedReader) Read(p []byte) (n int, err error)
Read implements io.Reader.Read
func (*SizedReader) Size ¶
func (r *SizedReader) Size() int64
Size returns the total number of bytes read so far.
type Store ¶
type Store interface { // Ranger creates a ranger for downloading erasure codes from piece store nodes. Ranger(ctx context.Context, info storj.SegmentDownloadInfo, limits []*pb.AddressedOrderLimit, objectRS storj.RedundancyScheme) (ranger.Ranger, error) Put(ctx context.Context, data io.Reader, expiration time.Time, limits []*pb.AddressedOrderLimit, piecePrivateKey storj.PiecePrivateKey) (_ []*pb.SegmentPieceUploadResult, size int64, err error) Delete(ctx context.Context, streamID storj.StreamID, segmentIndex int32) (err error) }
Store for segments
func NewSegmentStore ¶
func NewSegmentStore(metainfo *metainfo.Client, ec ecclient.Client, rs eestream.RedundancyStrategy) Store
NewSegmentStore creates a new instance of segmentStore