blob: 5f5920bb9d4a6b6f74447c0d58d2a818c4499cac [file] [log] [blame]
Cosmos Nicolaou6c6fa112014-08-19 13:22:33 -07001// Package Profiles, and its children, provide implementations of the
2// veyron2.Profile interface. These implementations should import all of the
3// packages that they require to implement Profile-specific functionality.
4//
5// The taxonomy used to organise Profiles may be arbitrary and the directory
6// structure used here is just one convention for how to do so. This directory
7// structure reflects the generality of a Profile at any given depth in the
8// hierarchy, with higher levels of the directory structure being more
9// generic and lower levels more specific.
10//
11// Profiles register themselves by calling veyron2/rt.RegisterProfile in their
12// init function and are hence are chosen by importing them into an
Cosmos Nicolaou454030b2014-12-04 20:39:40 -080013// applications main package. It is an error to import more than one profile,
14// and the registration mechanism will panic if this is attempted.
15// Commonly used functionality is placed in profiles/internal for use by
16// all profiles.
Cosmos Nicolaou6c6fa112014-08-19 13:22:33 -070017//
18// This top level directory contains a 'generic' Profile and utility routines
Cosmos Nicolaou39e3ae52014-11-14 13:30:01 -080019// used by other Profiles. It should be imported whenever possible and
20// particularly by tests.
Cosmos Nicolaou6c6fa112014-08-19 13:22:33 -070021//
Cosmos Nicolaou39e3ae52014-11-14 13:30:01 -080022// The 'roaming' Profile adds operating system support for varied network
Cosmos Nicolaou6c6fa112014-08-19 13:22:33 -070023// configurations and in particular dhcp. It should be used by any application
Cosmos Nicolaou39e3ae52014-11-14 13:30:01 -080024// that may 'roam' or any may be behind a 1-1 NAT. The 'static' profile
25// does not provide dhcp support, but is otherwise like the roaming profile.
Cosmos Nicolaou6c6fa112014-08-19 13:22:33 -070026//
Cosmos Nicolaou6c6fa112014-08-19 13:22:33 -070027package profiles