internal

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2023 License: BSD-3-Clause Imports: 10 Imported by: 0

README

This directory and all of its subdirectories contain an implementation of the
public APIs defined in v23.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AsyncCloudAddressChoser added in v0.1.10

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.

Types

type CloudVM added in v0.1.10

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

func InitCloudVM

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 added in v0.1.10

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

ChooseAddresses implements rpc.AddressChooser.

func (*CloudVM) RefreshAddresses added in v0.1.10

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

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

Directories

Path Synopsis
Package 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.
Package 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.
cmd
cipher/aead
Package aead provides a block cipher using aead.GCM with AES 256 encryption.
Package aead provides a block cipher using aead.GCM with AES 256 encryption.
cipher/naclbox
Package naclbox provides a block cipher using nacl/{box,secretbox}
Package naclbox provides a block cipher using nacl/{box,secretbox}
conn
This file was auto-generated by the vanadium vdl tool.
This file was auto-generated by the vanadium vdl tool.
lib
bqueue
Package bqueue implements several kinds of buffer queues, as a N-writer, 1-reader queue.
Package bqueue implements several kinds of buffer queues, as a N-writer, 1-reader queue.
bqueue/drrqueue
Package drrqueue implements a deficit round-robin buffer queue.
Package drrqueue implements a deficit round-robin buffer queue.
dependency
Package dependency keeps track of a dependency graph.
Package dependency keeps track of a dependency graph.
deque
Package deque implements a deque using a circular array.
Package deque implements a deque using a circular array.
iobuf
Package iobuf performs explicit memory management for data buffers used to perform network IO.
Package iobuf performs explicit memory management for data buffers used to perform network IO.
pcqueue
A producer/consumer queue is a concurrent bounded buffer supporting multiple concurrent producers and consumers, with timeouts.
A producer/consumer queue is a concurrent bounded buffer supporting multiple concurrent producers and consumers, with timeouts.
sync
Package sync provides synchronization primitives.
Package sync provides synchronization primitives.
upcqueue
Package upcqueue implements an unbounded producer/consumer queue.
Package upcqueue implements an unbounded producer/consumer queue.
Package naming provides an implementation of the interfaces in v.io/v23/naming.
Package naming provides an implementation of the interfaces in v.io/v23/naming.
rpc
stress
This file was auto-generated by the vanadium vdl tool.
This file was auto-generated by the vanadium vdl tool.
Usage:
stress/stress
Command stress is a tool to stress/load test RPC by issuing randomly generated requests.
Command stress is a tool to stress/load test RPC by issuing randomly generated requests.
stress/stressd
Command stressd runs the stress-test server.
Command stressd runs the stress-test server.
test
package test contains test for rpc code that do not rely on unexposed rpc declarations.
package test contains test for rpc code that do not rely on unexposed rpc declarations.
benchmark Module
test
concurrency
Package concurrency implements a framework for systematic testing of concurrent vanadium Go programs.
Package concurrency implements a framework for systematic testing of concurrent vanadium Go programs.

Jump to

Keyboard shortcuts

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