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

package runtime

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

Package runtime and its subdirectories provide implementations of the Vanadium runtime for different runtime environments.

Each subdirectory of the runtime/factories package is a package that implements the v23.RuntimeFactory function.

runtime/internal has common functionality use in runtime/factories.

RuntimeFactories register themselves by calling v.io/v23/rt.RegisterRuntimeFactory in an init function. Users choose a particular RuntimeFactory implementation by importing the appropriate package in their main package. It is an error to import more than one RuntimeFactory, and the registration mechanism will panic if this is attempted.

The 'roaming' RuntimeFactory adds operating system support for varied network configurations and in particular dhcp. It should be used by any application that may 'roam' or be behind a 1-1 NAT.

The 'static' RuntimeFactory does not provide dhcp support, but is otherwise like the 'roaming' RuntimeFactory.

Index

Package Files

doc.go

Directories

PathSynopsis
factories/fakePackage fake implements a fake RuntimeFactory, useful in tests for mocking out certain components.
factories/genericPackage generic implements a RuntimeFactory that is useful in tests.
factories/libraryPackage library implements a RuntimeFactory suitable for building a Vanadium library that is linked into other applications.
factories/roamingPackage roaming implements a RuntimeFactory suitable for a variety of network configurations, including 1-1 NATs, dhcp auto-configuration, Amazon Web Services and Google Compute Engine.
factories/staticPackage static implements a RuntimeFactory suitable for a variety of network configurations, including 1-1 NATs, Amazon Web Services and Google Compute Engine but hosted on a static IP address with no support for adapting to dhcp changes.
internal
internal/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.
internal/cloudvm/cloudpaths
internal/cloudvm/cloudvmtest
internal/flow
internal/flow/connnolint:golint
internal/flow/crypto
internal/flow/flowtest
internal/flow/manager
internal/lib/dependencyPackage dependency keeps track of a dependency graph.
internal/lib/dequePackage deque implements a deque using a circular array.
internal/lib/syncPackage sync provides synchronization primitives.
internal/lib/upcqueuePackage upcqueue implements an unbounded producer/consumer queue.
internal/namingPackage naming provides an implementation of the interfaces in v.io/v23/naming.
internal/naming/namespace
internal/platform
internal/requestid
internal/rpc
internal/rpc/benchmarkpackage benchmark provides simple tools to measure the performance of the IPC system.
internal/rpc/benchmark/benchmarkCommand benchmark runs the benchmark client.
internal/rpc/benchmark/benchmarkdCommand benchmarkd runs the benchmark server.
internal/rpc/benchmark/internal
internal/rpc/stressnolint:golint
internal/rpc/stress/internal
internal/rpc/stress/mtstressUsage: mtstress [flags] <command>
internal/rpc/stress/stressCommand stress is a tool to stress/load test RPC by issuing randomly generated requests.
internal/rpc/stress/stressdCommand stressd runs the stress-test server.
internal/rpc/testpackage test contains test for rpc code that do not rely on unexposed rpc declarations.
internal/rpc/version
internal/rt
internal/testing/mocks/naming
internal/vtracePackage vtrace implements the Trace and Span interfaces in v.io/v23/vtrace.
protocols/bidinolint:golint
protocols/debug
protocols/lib/framernolint:golint
protocols/lib/tcputilpackage tcputil contains functions commonly used to manipulate TCP connections.
protocols/lib/websocketnolint:golint
protocols/local
protocols/tcp
protocols/vinePackage vine contains Vanadium's Implementation of Network Emulation (VINE).
protocols/ws
protocols/wshPackage wsh registers the websocket 'hybrid' protocol.
protocols/wsh_naclPackage wsh_nacl registers the websocket 'hybrid' protocol for nacl architectures.

Updated 2020-10-24. Refresh now. Tools for package owners.