Documentation ¶
Overview ¶
Package ident is a generated GoMock package.
Package ident provides utilities for working with identifiers.
Index ¶
- type BytesID
- type ID
- type IDBatch
- type IDMatcher
- type Iterator
- type MockID
- type MockIDMockRecorder
- func (mr *MockIDMockRecorder) Bytes() *gomock.Call
- func (mr *MockIDMockRecorder) Equal(arg0 interface{}) *gomock.Call
- func (mr *MockIDMockRecorder) Finalize() *gomock.Call
- func (mr *MockIDMockRecorder) IsNoFinalize() *gomock.Call
- func (mr *MockIDMockRecorder) NoFinalize() *gomock.Call
- func (mr *MockIDMockRecorder) String() *gomock.Call
- type MockTagIterator
- func (m *MockTagIterator) Close()
- func (m *MockTagIterator) Current() Tag
- func (m *MockTagIterator) CurrentIndex() int
- func (m *MockTagIterator) Duplicate() TagIterator
- func (m *MockTagIterator) EXPECT() *MockTagIteratorMockRecorder
- func (m *MockTagIterator) Err() error
- func (m *MockTagIterator) Len() int
- func (m *MockTagIterator) Next() bool
- func (m *MockTagIterator) Remaining() int
- func (m *MockTagIterator) Rewind()
- type MockTagIteratorMockRecorder
- func (mr *MockTagIteratorMockRecorder) Close() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) Current() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) CurrentIndex() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) Duplicate() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) Err() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) Len() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) Next() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) Remaining() *gomock.Call
- func (mr *MockTagIteratorMockRecorder) Rewind() *gomock.Call
- type Pool
- type PoolOptions
- type ReusableBytesID
- type ShardID
- type Tag
- type TagIterMatcher
- type TagIterator
- type TagMatcher
- type TagName
- type TagValue
- type Tags
- type TagsIterator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BytesID ¶
type BytesID []byte
BytesID is a small utility type to avoid the heavy weight of a true ID implementation when using in high throughput places like keys in a map.
func (BytesID) Finalize ¶
func (v BytesID) Finalize()
Finalize is a no-op for a bytes ID as it has no associated pool.
func (BytesID) IsNoFinalize ¶
IsNoFinalize is always true since BytesID is not pooled.
func (BytesID) NoFinalize ¶
func (v BytesID) NoFinalize()
NoFinalize is a no-op for a bytes ID as Finalize is already a no-op.
type ID ¶
type ID interface { fmt.Stringer // Bytes returns the underlying byte slice of the bytes ID unpacked from // any checked bytes container, callers cannot safely hold a ref to these // bytes. Bytes() []byte // Equal returns whether the ID is equal to a given ID. Equal(value ID) bool // NoFinalize makes calls to finalize a no-op, this is useful when you // would like to share a type with another sub-system that should is not // allowed to finalize the resource as the resource is kept indefinitely // until garbage collected (i.e. longly lived). NoFinalize() // IsNoFinalize returns whether finalize is a no-op or not, this is useful // when you know you can use an ID without having to worry to take a copy. IsNoFinalize() bool // Finalize releases all resources held by the ID, unless NoFinalize has // been called previously in which case this is a no-op. Finalize() }
ID represents an immutable identifier to allow use of byte slice pooling for the contents of the ID.
type IDBatch ¶ added in v1.0.0
type IDBatch struct { // ShardIDs are the ShardIDs for the batch. ShardIDs []ShardID // contains filtered or unexported fields }
IDBatch is a batch of ShardIDs that is consumed asynchronously.
func (*IDBatch) Processed ¶ added in v1.0.0
func (b *IDBatch) Processed()
Processed indicates that this batch has finished processing.
func (*IDBatch) ReadyForProcessing ¶ added in v1.0.0
func (b *IDBatch) ReadyForProcessing()
ReadyForProcessing indicates this batch is ready for processing.
func (*IDBatch) WaitUntilProcessed ¶ added in v1.0.0
func (b *IDBatch) WaitUntilProcessed()
WaitUntilProcessed waits until the batch has been processed.
type Iterator ¶
type Iterator interface { // Next returns a bool indicating the presence of the next ID instance. Next() bool // Current returns the current ID instance. Current() ID // CurrentIndex returns the current index at. CurrentIndex() int // Close releases any resources held by the iterator. Close() // Err returns any errors encountered during iteration. Err() error // Len returns the number of elements. Len() int // Remaining returns the number of elements remaining to be iterated over. Remaining() int // Dupe returns an independent duplicate of the iterator. Duplicate() Iterator }
Iterator represents an iterator over `ID` instances. It is not thread-safe.
func NewIDSliceIterator ¶
NewIDSliceIterator returns a new Iterator over a slice.
func NewIDsIterator ¶
NewIDsIterator returns a new Iterator over the given IDs.
func NewStringIDsIterator ¶
NewStringIDsIterator returns a new Iterator over the given IDs.
func NewStringIDsSliceIterator ¶
NewStringIDsSliceIterator returns a new Iterator over a slice of strings.
type MockID ¶
type MockID struct {
// contains filtered or unexported fields
}
MockID is a mock of ID interface.
func NewMockID ¶
func NewMockID(ctrl *gomock.Controller) *MockID
NewMockID creates a new mock instance.
func (*MockID) EXPECT ¶
func (m *MockID) EXPECT() *MockIDMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockIDMockRecorder ¶
type MockIDMockRecorder struct {
// contains filtered or unexported fields
}
MockIDMockRecorder is the mock recorder for MockID.
func (*MockIDMockRecorder) Bytes ¶
func (mr *MockIDMockRecorder) Bytes() *gomock.Call
Bytes indicates an expected call of Bytes.
func (*MockIDMockRecorder) Equal ¶
func (mr *MockIDMockRecorder) Equal(arg0 interface{}) *gomock.Call
Equal indicates an expected call of Equal.
func (*MockIDMockRecorder) Finalize ¶
func (mr *MockIDMockRecorder) Finalize() *gomock.Call
Finalize indicates an expected call of Finalize.
func (*MockIDMockRecorder) IsNoFinalize ¶
func (mr *MockIDMockRecorder) IsNoFinalize() *gomock.Call
IsNoFinalize indicates an expected call of IsNoFinalize.
func (*MockIDMockRecorder) NoFinalize ¶
func (mr *MockIDMockRecorder) NoFinalize() *gomock.Call
NoFinalize indicates an expected call of NoFinalize.
func (*MockIDMockRecorder) String ¶
func (mr *MockIDMockRecorder) String() *gomock.Call
String indicates an expected call of String.
type MockTagIterator ¶
type MockTagIterator struct {
// contains filtered or unexported fields
}
MockTagIterator is a mock of TagIterator interface.
func NewMockTagIterator ¶
func NewMockTagIterator(ctrl *gomock.Controller) *MockTagIterator
NewMockTagIterator creates a new mock instance.
func (*MockTagIterator) Current ¶
func (m *MockTagIterator) Current() Tag
Current mocks base method.
func (*MockTagIterator) CurrentIndex ¶
func (m *MockTagIterator) CurrentIndex() int
CurrentIndex mocks base method.
func (*MockTagIterator) Duplicate ¶
func (m *MockTagIterator) Duplicate() TagIterator
Duplicate mocks base method.
func (*MockTagIterator) EXPECT ¶
func (m *MockTagIterator) EXPECT() *MockTagIteratorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockTagIterator) Remaining ¶
func (m *MockTagIterator) Remaining() int
Remaining mocks base method.
func (*MockTagIterator) Rewind ¶ added in v0.15.2
func (m *MockTagIterator) Rewind()
Rewind mocks base method.
type MockTagIteratorMockRecorder ¶
type MockTagIteratorMockRecorder struct {
// contains filtered or unexported fields
}
MockTagIteratorMockRecorder is the mock recorder for MockTagIterator.
func (*MockTagIteratorMockRecorder) Close ¶
func (mr *MockTagIteratorMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close.
func (*MockTagIteratorMockRecorder) Current ¶
func (mr *MockTagIteratorMockRecorder) Current() *gomock.Call
Current indicates an expected call of Current.
func (*MockTagIteratorMockRecorder) CurrentIndex ¶
func (mr *MockTagIteratorMockRecorder) CurrentIndex() *gomock.Call
CurrentIndex indicates an expected call of CurrentIndex.
func (*MockTagIteratorMockRecorder) Duplicate ¶
func (mr *MockTagIteratorMockRecorder) Duplicate() *gomock.Call
Duplicate indicates an expected call of Duplicate.
func (*MockTagIteratorMockRecorder) Err ¶
func (mr *MockTagIteratorMockRecorder) Err() *gomock.Call
Err indicates an expected call of Err.
func (*MockTagIteratorMockRecorder) Len ¶
func (mr *MockTagIteratorMockRecorder) Len() *gomock.Call
Len indicates an expected call of Len.
func (*MockTagIteratorMockRecorder) Next ¶
func (mr *MockTagIteratorMockRecorder) Next() *gomock.Call
Next indicates an expected call of Next.
func (*MockTagIteratorMockRecorder) Remaining ¶
func (mr *MockTagIteratorMockRecorder) Remaining() *gomock.Call
Remaining indicates an expected call of Remaining.
func (*MockTagIteratorMockRecorder) Rewind ¶ added in v0.15.2
func (mr *MockTagIteratorMockRecorder) Rewind() *gomock.Call
Rewind indicates an expected call of Rewind.
type Pool ¶
type Pool interface { // GetBinaryID will create a new binary ID and take reference to the bytes. // When the context closes the ID will be finalized and so too will // the bytes, i.e. it will take ownership of the bytes. GetBinaryID(c context.Context, data checked.Bytes) ID // BinaryID will create a new binary ID and take a reference to the bytes. BinaryID(data checked.Bytes) ID // GetBinaryTag will create a new binary Tag and take reference to the bytes. // When the context closes, the Tag will be finalized and so too will // the bytes, i.e. it will take ownership of the bytes. GetBinaryTag(c context.Context, name, value checked.Bytes) Tag // BinaryTag will create a new binary Tag and take a reference to the provided bytes. BinaryTag(name, value checked.Bytes) Tag // GetStringID will create a new string ID and create a bytes copy of the // string. When the context closes the ID will be finalized. GetStringID(c context.Context, id string) ID // StringID will create a new string ID and create a bytes copy of the // string. StringID(data string) ID // GetStringTag will create a new string Tag and create a bytes copy of the // string. When the context closes the ID will be finalized. GetStringTag(c context.Context, name, value string) Tag // StringTag will create a new string Tag and create a bytes copy of the // string. StringTag(name, value string) Tag // Tags will create a new array of tags and return it. Tags() Tags // GetTagsIterator will create a tag iterator and return it. When the context // closes the tags array and any tags contained will be finalized. GetTagsIterator(c context.Context) TagsIterator // TagsIterator will create a tag iterator and return it. TagsIterator() TagsIterator // Put an ID back in the pool. Put(id ID) // PutTag puts a tag back in the pool. PutTag(tag Tag) // PutTags puts a set of tags back in the pool. PutTags(tags Tags) // PutTagsIterator puts a tags iterator back in the pool. PutTagsIterator(iter TagsIterator) // Clone replicates a given ID into a pooled ID. Clone(id ID) ID // CloneTag replicates a given Tag into a pooled Tag. CloneTag(tag Tag) Tag // CloneTags replicates a given set of Tags into a pooled Tags. CloneTags(tags Tags) Tags }
Pool represents an automatic pool of `ident` objects.
func NewPool ¶
func NewPool( bytesPool pool.CheckedBytesPool, opts PoolOptions, ) Pool
NewPool constructs a new simple Pool.
type PoolOptions ¶
type PoolOptions struct { IDPoolOptions pool.ObjectPoolOptions TagsPoolOptions pool.ObjectPoolOptions TagsCapacity int TagsMaxCapacity int TagsIteratorPoolOptions pool.ObjectPoolOptions }
PoolOptions is a set of pooling options.
type ReusableBytesID ¶ added in v1.0.1
type ReusableBytesID struct {
// contains filtered or unexported fields
}
ReusableBytesID is a reusable bytes ID, use with extreme care in places where the lifecycle is known (there is no checking with this ID).
func NewReusableBytesID ¶ added in v1.0.1
func NewReusableBytesID() *ReusableBytesID
NewReusableBytesID returns a new reusable bytes ID, use with extreme care in places where the lifecycle is known (there is no checking with this ID).
func (*ReusableBytesID) Bytes ¶ added in v1.0.1
func (i *ReusableBytesID) Bytes() []byte
Bytes implements ID.
func (*ReusableBytesID) Equal ¶ added in v1.0.1
func (i *ReusableBytesID) Equal(value ID) bool
Equal implements ID.
func (*ReusableBytesID) Finalize ¶ added in v1.0.1
func (i *ReusableBytesID) Finalize()
Finalize implements ID.
func (*ReusableBytesID) IsNoFinalize ¶ added in v1.0.1
func (i *ReusableBytesID) IsNoFinalize() bool
IsNoFinalize implements ID.
func (*ReusableBytesID) NoFinalize ¶ added in v1.0.1
func (i *ReusableBytesID) NoFinalize()
NoFinalize implements ID.
func (*ReusableBytesID) Reset ¶ added in v1.0.1
func (i *ReusableBytesID) Reset(bytes []byte)
Reset resets the bytes ID for reuse, make sure there are zero references to this ID from any other data structure at this point.
func (*ReusableBytesID) String ¶ added in v1.0.1
func (i *ReusableBytesID) String() string
String returns the bytes ID as a string.
type ShardID ¶ added in v1.0.1
type ShardID struct { // Shard is the shard the series belongs to. Shard uint32 // ID is the series ID. ID ID }
ShardID is a tuple of series ID and the shard it belongs to.
type Tag ¶
Tag represents a timeseries tag.
func (*Tag) Finalize ¶
func (t *Tag) Finalize()
Finalize releases all resources held by the Tag, unless NoFinalize has been called previously in which case this is a no-op.
func (*Tag) NoFinalize ¶
func (t *Tag) NoFinalize()
NoFinalize makes calls to finalize a no-op, this is useful when you would like to share a type with another sub-system that should is not allowed to finalize the resource as the resource is kept indefinitely until garbage collected (i.e. longly lived).
type TagIterMatcher ¶
TagIterMatcher is a gomock.Matcher that matches TagIterator
func NewTagIterMatcher ¶
func NewTagIterMatcher(iter TagIterator) TagIterMatcher
NewTagIterMatcher returns a new TagIterMatcher
type TagIterator ¶
type TagIterator interface { // Next returns a bool indicating the presence of the next Tag instance. Next() bool // Current returns the current Tag instance. Current() Tag // CurrentIndex returns the current index at. CurrentIndex() int // Err returns any errors encountered during iteration. Err() error // Close releases any resources held by the iterator. Close() // Len returns the number of elements. Len() int // Remaining returns the number of elements remaining to be iterated over. Remaining() int // Duplicate returns an independent duplicate of the iterator. Duplicate() TagIterator // Rewind resets the tag iterator to the initial position. Rewind() }
TagIterator represents an iterator over `Tag` instances. It is not thread-safe.
var EmptyTagIterator TagIterator = emptyTagIterator{}
EmptyTagIterator returns an iterator over no tags.
func MustNewTagStringsIterator ¶
func MustNewTagStringsIterator(inputs ...string) TagIterator
MustNewTagStringsIterator returns a TagIterator over a slice of strings, panic'ing if it encounters an error.
func NewTagStringsIterator ¶
func NewTagStringsIterator(inputs ...string) (TagIterator, error)
NewTagStringsIterator returns a TagIterator over a slice of strings.
type TagMatcher ¶
TagMatcher is a gomock.Matcher that matches Tag
func NewTagMatcher ¶
func NewTagMatcher(name string, value string) TagMatcher
NewTagMatcher returns a new TagMatcher
type Tags ¶
type Tags struct {
// contains filtered or unexported fields
}
Tags is a collection of Tag instances that can be pooled.
func (Tags) Equal ¶
Equal returns a bool indicating if the tags are equal. It requires the two slices are ordered the same.
func (*Tags) Finalize ¶
func (t *Tags) Finalize()
Finalize finalizes all Tags, unless NoFinalize has been called previously in which case this is a no-op.
func (*Tags) NoFinalize ¶
func (t *Tags) NoFinalize()
NoFinalize makes calls to finalize a no-op, this is useful when you would like to share a type with another sub-system that should is not allowed to finalize the resource as the resource is kept indefinitely until garbage collected (i.e. longly lived).
type TagsIterator ¶
type TagsIterator interface { TagIterator // Reset allows the tag iterator to be reused with a new set of tags. Reset(tags Tags) // ResetFields allows tag iterator to be reused from a set of fields. ResetFields(fields []doc.Field) }
TagsIterator represents a TagIterator that can be reset with a Tags collection type. It is not thread-safe.
func NewFieldsTagsIterator ¶ added in v0.15.4
func NewFieldsTagsIterator(fields []doc.Field) TagsIterator
NewFieldsTagsIterator returns a TagsIterator over a set of fields.
func NewTagsIterator ¶
func NewTagsIterator(tags Tags) TagsIterator
NewTagsIterator returns a TagsIterator over a set of tags.