vqueue

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package vqueue manages the vector cache layer for reducing FFI overhead for fast Agent processing.

Package vqueue manages the vector cache layer for reducing FFI overhead for fast Agent processing.

Copyright (C) 2019-2021 vdaas.org vald team <vald@vdaas.org>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (C) 2019-2021 vdaas.org vald team <vald@vdaas.org>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(n *vqueue) error

Option represents the functional option for vqueue.

func WithDeleteBufferPoolSize

func WithDeleteBufferPoolSize(size int) Option

WithDeleteBufferPoolSize returns the option to set the pool size of the delete buffer.

func WithDeleteBufferSize

func WithDeleteBufferSize(size int) Option

WithDeleteBufferSize returns the option to set the size of the delete buffer.

func WithErrGroup

func WithErrGroup(eg errgroup.Group) Option

WithErrGroup returns the option to set the errgroup.

func WithInsertBufferPoolSize

func WithInsertBufferPoolSize(size int) Option

WithInsertBufferPoolSize returns the option to set the pool size of the insert buffer.

func WithInsertBufferSize

func WithInsertBufferSize(size int) Option

WithInsertBufferSize returns the option to set the size of the insert buffer.

type Queue

type Queue interface {
	Start(ctx context.Context) (<-chan error, error)
	PushInsert(uuid string, vector []float32, date int64) error
	PushDelete(uuid string, date int64) error
	GetVector(uuid string) ([]float32, bool)
	RangePopInsert(ctx context.Context, f func(uuid string, vector []float32) bool)
	RangePopDelete(ctx context.Context, f func(uuid string) bool)
	IVExists(uuid string) bool
	DVExists(uuid string) bool
	IVQLen() int
	IVCLen() int
	DVQLen() int
	DVCLen() int
}

Queue

func New

func New(opts ...Option) (Queue, error)

Jump to

Keyboard shortcuts

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