resolver

package
v0.10.3-0...-b48f531 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2024 License: Apache-2.0 Imports: 13 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) Builder

NewSessionBuilder creates a new resolver builder.

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() VersionedState

	// 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