serviceregistry

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2020 License: Apache-2.0 Imports: 11 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiRegistry

type ApiRegistry interface {
	NewNSMServerListener() (net.Listener, error)
	NewPublicListener(nsmdAPIAddress string) (net.Listener, error)
}

type ServiceRegistry

type ServiceRegistry interface {
	GetPublicAPI() string

	DiscoveryClient(ctx context.Context) (registry.NetworkServiceDiscoveryClient, error)
	NseRegistryClient(ctx context.Context) (registry.NetworkServiceRegistryClient, error)
	NsmRegistryClient(ctx context.Context) (registry.NsmRegistryClient, error)

	Stop()
	NSMDApiClient(ctx context.Context) (nsmdapi.NSMDClient, *grpc.ClientConn, error)
	ForwarderConnection(ctx context.Context, forwarder *model.Forwarder) (forwarderapi.ForwarderClient, *grpc.ClientConn, error)

	EndpointConnection(ctx context.Context, endpoint *model.Endpoint) (networkservice.NetworkServiceClient, *grpc.ClientConn, error)
	RemoteNetworkServiceClient(ctx context.Context, nsm *registry.NetworkServiceManager) (networkservice.NetworkServiceClient, *grpc.ClientConn, error)

	WaitForForwarderAvailable(ctx context.Context, model model.Model, timeout time.Duration) error

	VniAllocator() vni.VniAllocator
	SIDAllocator() sid.Allocator

	NewWorkspaceProvider() WorkspaceLocationProvider
}

* A method to obtain different connectivity mechanism for parts of model

type WorkspaceLocationProvider

type WorkspaceLocationProvider interface {
	HostBaseDir() string
	NsmBaseDir() string
	ClientBaseDir() string
	NsmServerSocket() string
	NsmClientSocket() string

	// A persistent file based NSE <-> Workspace registry.
	NsmNSERegistryFile() string
}

Jump to

Keyboard shortcuts

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