index

package
v1.10.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2020 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthIndex        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowIndex          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupIndex = fmt.Errorf("proto: unexpected end of group")
)
View Source
var Op_name = map[int32]string{
	0: "APPEND",
	1: "OVERWRITE",
	2: "DELETE",
}
View Source
var Op_value = map[string]int32{
	"APPEND":    0,
	"OVERWRITE": 1,
	"DELETE":    2,
}

Functions

func Generate

func Generate(s string) []string

Generate generates the permutations of the passed in string and returns them sorted.

func Perm

func Perm(a []rune, f func([]rune))

Perm calls f with each permutation of a.

Types

type DataOp

type DataOp struct {
	DataRefs             []*chunk.DataRef `protobuf:"bytes,1,rep,name=data_refs,json=dataRefs,proto3" json:"data_refs,omitempty"`
	Op                   Op               `protobuf:"varint,2,opt,name=op,proto3,enum=index.Op" json:"op,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

DataOp is a sequence of data references and an operation associated with the referenced data.

func (*DataOp) Descriptor

func (*DataOp) Descriptor() ([]byte, []int)

func (*DataOp) GetDataRefs

func (m *DataOp) GetDataRefs() []*chunk.DataRef

func (*DataOp) GetOp

func (m *DataOp) GetOp() Op

func (*DataOp) Marshal

func (m *DataOp) Marshal() (dAtA []byte, err error)

func (*DataOp) MarshalTo

func (m *DataOp) MarshalTo(dAtA []byte) (int, error)

func (*DataOp) MarshalToSizedBuffer

func (m *DataOp) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DataOp) ProtoMessage

func (*DataOp) ProtoMessage()

func (*DataOp) Reset

func (m *DataOp) Reset()

func (*DataOp) Size

func (m *DataOp) Size() (n int)

func (*DataOp) String

func (m *DataOp) String() string

func (*DataOp) Unmarshal

func (m *DataOp) Unmarshal(dAtA []byte) error

func (*DataOp) XXX_DiscardUnknown

func (m *DataOp) XXX_DiscardUnknown()

func (*DataOp) XXX_Marshal

func (m *DataOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DataOp) XXX_Merge

func (m *DataOp) XXX_Merge(src proto.Message)

func (*DataOp) XXX_Size

func (m *DataOp) XXX_Size() int

func (*DataOp) XXX_Unmarshal

func (m *DataOp) XXX_Unmarshal(b []byte) error

type Index

type Index struct {
	Path   string  `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Range  *Range  `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"`
	DataOp *DataOp `protobuf:"bytes,3,opt,name=data_op,json=dataOp,proto3" json:"data_op,omitempty"`
	// Size of the content being indexed (does not include headers).
	SizeBytes            int64    `protobuf:"varint,4,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Index stores an index to and metadata about file sets.

func GetTopLevelIndex

func GetTopLevelIndex(ctx context.Context, objC obj.Client, path string) (*Index, error)

GetTopLevelIndex gets the top level index entry for a file set, which contains metadata for the file set.

func (*Index) Descriptor

func (*Index) Descriptor() ([]byte, []int)

func (*Index) GetDataOp

func (m *Index) GetDataOp() *DataOp

func (*Index) GetPath

func (m *Index) GetPath() string

func (*Index) GetRange

func (m *Index) GetRange() *Range

func (*Index) GetSizeBytes

func (m *Index) GetSizeBytes() int64

func (*Index) Marshal

func (m *Index) Marshal() (dAtA []byte, err error)

func (*Index) MarshalTo

func (m *Index) MarshalTo(dAtA []byte) (int, error)

func (*Index) MarshalToSizedBuffer

func (m *Index) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Index) ProtoMessage

func (*Index) ProtoMessage()

func (*Index) Reset

func (m *Index) Reset()

func (*Index) Size

func (m *Index) Size() (n int)

func (*Index) String

func (m *Index) String() string

func (*Index) Unmarshal

func (m *Index) Unmarshal(dAtA []byte) error

func (*Index) XXX_DiscardUnknown

func (m *Index) XXX_DiscardUnknown()

func (*Index) XXX_Marshal

func (m *Index) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Index) XXX_Merge

func (m *Index) XXX_Merge(src proto.Message)

func (*Index) XXX_Size

func (m *Index) XXX_Size() int

func (*Index) XXX_Unmarshal

func (m *Index) XXX_Unmarshal(b []byte) error

type Op

type Op int32

Op is the set of operations that can be associated with data.

const (
	Op_APPEND    Op = 0
	Op_OVERWRITE Op = 1
	Op_DELETE    Op = 2
)

func (Op) EnumDescriptor

func (Op) EnumDescriptor() ([]byte, []int)

func (Op) String

func (x Op) String() string

type Option added in v1.9.6

type Option func(r *Reader)

Option configures an index reader.

func WithPrefix added in v1.9.6

func WithPrefix(prefix string) Option

WithPrefix sets a prefix filter for the read.

func WithRange added in v1.9.6

func WithRange(pathRange *PathRange) Option

WithRange sets a range filter for the read.

type PathRange added in v1.9.6

type PathRange struct {
	Lower, Upper string
}

PathRange is a range of paths. The range is inclusive: [Lower, Upper].

type Range

type Range struct {
	Offset               int64    `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
	LastPath             string   `protobuf:"bytes,2,opt,name=last_path,json=lastPath,proto3" json:"last_path,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Range) Descriptor

func (*Range) Descriptor() ([]byte, []int)

func (*Range) GetLastPath

func (m *Range) GetLastPath() string

func (*Range) GetOffset

func (m *Range) GetOffset() int64

func (*Range) Marshal

func (m *Range) Marshal() (dAtA []byte, err error)

func (*Range) MarshalTo

func (m *Range) MarshalTo(dAtA []byte) (int, error)

func (*Range) MarshalToSizedBuffer

func (m *Range) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Range) ProtoMessage

func (*Range) ProtoMessage()

func (*Range) Reset

func (m *Range) Reset()

func (*Range) Size

func (m *Range) Size() (n int)

func (*Range) String

func (m *Range) String() string

func (*Range) Unmarshal

func (m *Range) Unmarshal(dAtA []byte) error

func (*Range) XXX_DiscardUnknown

func (m *Range) XXX_DiscardUnknown()

func (*Range) XXX_Marshal

func (m *Range) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Range) XXX_Merge

func (m *Range) XXX_Merge(src proto.Message)

func (*Range) XXX_Size

func (m *Range) XXX_Size() int

func (*Range) XXX_Unmarshal

func (m *Range) XXX_Unmarshal(b []byte) error

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

Reader is used for reading a multilevel index.

func NewReader

func NewReader(ctx context.Context, objC obj.Client, chunks *chunk.Storage, path string, opts ...Option) *Reader

NewReader create a new Reader.

func (*Reader) Iterate

func (r *Reader) Iterate(f func(*Index) error, pathBound ...string) error

Iterate iterates over the indexes. pathBound is an optional parameter for specifiying the upper bound (exclusive) of the iteration.

func (*Reader) Next

func (r *Reader) Next() (*Index, error)

Next returns the next index and progresses the reader.

func (*Reader) Peek added in v1.9.5

func (r *Reader) Peek() (*Index, error)

Peek returns the next index without progressing the reader.

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

Writer is used for creating a multilevel index into a serialized file set. Each index level is a stream of byte length encoded index entries that are stored in chunk storage.

func NewWriter

func NewWriter(ctx context.Context, objC obj.Client, chunks *chunk.Storage, path string) *Writer

NewWriter create a new Writer.

func (*Writer) Close

func (w *Writer) Close() error

Close finishes the index, and returns the serialized top index level.

func (*Writer) WriteIndexes

func (w *Writer) WriteIndexes(idxs []*Index) error

WriteIndexes writes a set of index entries.

Jump to

Keyboard shortcuts

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