v.io: v.io/x/ref/runtime/internal Index | Files | Directories

package internal

import "v.io/x/ref/runtime/internal"

Index

Package Files

cloudvm.go

func AsyncCloudAddressChoser Uses

func AsyncCloudAddressChoser(ctx context.Context, logger logging.Logger, fl *flags.VirtualizedFlags) rpc.AddressChooser

AsyncCloudAddressChoser asynchronously initializes the cloud vm environment and returns an rpc.AddressChooser that will wait for the environment to be determined.

type CloudVM Uses

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

func InitCloudVM Uses

func InitCloudVM(ctx context.Context, logger logging.Logger, fl *flags.VirtualizedFlags) (*CloudVM, error)

InitCloudVM initializes the CloudVM metadata using the configuration provided by VirtualizedFlags. It implements rpc.AddressChooser and provides a RefreshAddress method to update addresses based on current metadata settings. If PublicAddress is set it is used, then PublicDNSName and finally, if a VirtualizationProvider is defined its metadata service will be used. If the AdvertisePrivateAddresses flag is set then the private addresses and the candidate addresses supplied to the address chooser will also be returned by ChoseAddresses, otherwise only the public/external ones will be returned.

func (*CloudVM) ChooseAddresses Uses

func (cvm *CloudVM) ChooseAddresses(protocol string, candidates []net.Addr) ([]net.Addr, error)

ChooseAddresses implements rpc.AddressChooser.

func (*CloudVM) RefreshAddresses Uses

func (cvm *CloudVM) RefreshAddresses(ctx context.Context) error

RefreshAddresses updates the addresses from the viurtualization/cloud providers metadata if appropriate to do so.

Directories

PathSynopsis
cloudvmPackage cloudvm provides functions to test whether the current process is running on Google Compute Engine or Amazon Web Services, and to extract settings from this environment.
cloudvm/cloudpaths
cloudvm/cloudvmtest
flow
flow/connnolint:golint
flow/crypto
flow/flowtest
flow/manager
lib/dependencyPackage dependency keeps track of a dependency graph.
lib/dequePackage deque implements a deque using a circular array.
lib/syncPackage sync provides synchronization primitives.
lib/upcqueuePackage upcqueue implements an unbounded producer/consumer queue.
namingPackage naming provides an implementation of the interfaces in v.io/v23/naming.
naming/namespace
platform
requestid
rpc
rpc/benchmarkpackage benchmark provides simple tools to measure the performance of the IPC system.
rpc/benchmark/benchmarkCommand benchmark runs the benchmark client.
rpc/benchmark/benchmarkdCommand benchmarkd runs the benchmark server.
rpc/benchmark/internal
rpc/stressnolint:golint
rpc/stress/internal
rpc/stress/mtstressUsage: mtstress [flags] <command>
rpc/stress/stressCommand stress is a tool to stress/load test RPC by issuing randomly generated requests.
rpc/stress/stressdCommand stressd runs the stress-test server.
rpc/testpackage test contains test for rpc code that do not rely on unexposed rpc declarations.
rpc/version
rt
testing/mocks/naming
vtracePackage vtrace implements the Trace and Span interfaces in v.io/v23/vtrace.

Package internal imports 10 packages (graph) and is imported by 1 packages. Updated 2020-10-24. Refresh now. Tools for package owners.