searchsvc

package
v0.0.0-...-0ba0ddf Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2024 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientConstructor

type ClientConstructor interface {
	Get(client.NodeInfo) (client.MultiAddressClient, error)
}

type Containers

type Containers interface {
	// ForEachRemoteContainerNode iterates over all remote nodes matching the
	// referenced container's storage policy for now and passes their descriptors
	// into f. Elements may be repeated.
	//
	// Returns [apistatus.ErrContainerNotFound] if referenced container was not
	// found.
	ForEachRemoteContainerNode(cnr cid.ID, f func(netmapsdk.NodeInfo)) error
}

Containers provides information about NeoFS containers necessary for the Service to work.

type IDListWriter

type IDListWriter interface {
	WriteIDs([]oid.ID) error
}

IDListWriter is an interface of target component to write list of object identifiers.

type Option

type Option func(*cfg)

Option is a Service's constructor option.

func WithClientConstructor

func WithClientConstructor(v ClientConstructor) Option

WithClientConstructor returns option to set constructor of remote node clients.

func WithKeyStorage

func WithKeyStorage(store *util.KeyStorage) Option

WithKeyStorage returns option to set private key storage for session tokens and node key.

func WithLocalStorageEngine

func WithLocalStorageEngine(e *engine.StorageEngine) Option

WithLocalStorageEngine returns option to set local storage instance.

func WithLogger

func WithLogger(l *zap.Logger) Option

WithLogger returns option to specify Get service's logger.

type Prm

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

Prm groups parameters of Get service call.

func (*Prm) SetCommonParameters

func (p *Prm) SetCommonParameters(common *util.CommonPrm)

SetCommonParameters sets common parameters of the operation.

func (*Prm) SetRequestForwarder

func (p *Prm) SetRequestForwarder(f RequestForwarder)

SetRequestForwarder sets callback for forwarding of the original request.

func (*Prm) SetWriter

func (p *Prm) SetWriter(w IDListWriter)

SetWriter sets target component to write list of object identifiers.

func (*Prm) WithContainerID

func (p *Prm) WithContainerID(id cid.ID)

WithContainerID sets identifier of the container to search the objects.

func (*Prm) WithSearchFilters

func (p *Prm) WithSearchFilters(fs object.SearchFilters)

WithSearchFilters sets search filters.

type RequestForwarder

type RequestForwarder func(coreclient.NodeInfo, coreclient.MultiAddressClient) ([]oid.ID, error)

RequestForwarder is a callback for forwarding of the original Search requests.

type Service

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

Service is an utility serving requests of Object.Search service.

func New

func New(containers Containers, opts ...Option) *Service

New creates, initializes and returns utility serving Object.Search service requests.

func (*Service) Search

func (s *Service) Search(ctx context.Context, prm Prm) error

Search serves a request to select the objects.

Only creation epoch, payload size, user attributes and unknown system ones are allowed with numeric operators. Values of numeric filters must be base-10 integers.

Returns object.ErrInvalidSearchQuery if specified query is invalid.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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