resolver

package
v0.10.3-0...-96d0e78 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// targets: milvus-session:///streamingcoord.
	SessionResolverScheme = "milvus-session"
	// targets: channel-assignment://external-grpc-client
	ChannelAssignmentResolverScheme = "channel-assignment"
)

Variables

View Source
var (
	ErrCanceled    = errors.New("canceled")
	ErrInterrupted = errors.New("interrupted")
)

Functions

This section is empty.

Types

type Builder

type Builder interface {
	resolver.Builder

	// Resolver returns the underlying resolver instance.
	Resolver() Resolver

	// Close the builder, release the underlying resolver instance.
	Close()
}

Builder is the interface for the grpc resolver builder. It owns a Resolver instance and build grpc.Resolver from it.

func NewChannelAssignmentBuilder

func NewChannelAssignmentBuilder(w types.AssignmentDiscoverWatcher) Builder

NewChannelAssignmentBuilder creates a new resolver builder.

func NewSessionBuilder

func NewSessionBuilder(c *clientv3.Client, role string, version string) Builder

NewSessionBuilder creates a new resolver builder. Multiple sessions are allowed, use the role as prefix.

func NewSessionExclusiveBuilder

func NewSessionExclusiveBuilder(c *clientv3.Client, role string, version string) Builder

NewSessionExclusiveBuilder creates a new resolver builder with exclusive. Only one session is allowed, not use the prefix, only use the role directly.

type Resolver

type Resolver interface {
	// GetLatestState returns the latest state of the resolver.
	// The returned state should be read only, applied any change to it will cause data race.
	GetLatestState(ctx context.Context) (VersionedState, error)

	// Watch watch the state change of the resolver.
	// cb will be called with latest state after call, and will be called with new state when state changed.
	// version may be skipped if the state is changed too fast, and latest version can be seen by cb.
	// Watch is keep running until ctx is canceled or cb first return error.
	// - Return error with ErrCanceled mark when ctx is canceled.
	// - Return error with ErrInterrupted when cb returns.
	Watch(ctx context.Context, cb func(VersionedState) error) error
}

Resolver is the interface for the service discovery in grpc. Allow the user to get the grpc service discovery results and watch the changes. Not all changes can be arrived by these api, only the newest state is guaranteed.

type VersionedState

type VersionedState = discoverer.VersionedState

Jump to

Keyboard shortcuts

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