blob: bee7e06e1fa6dd84d1455a17a28eea3eb70c73e9 [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
13// applications main package. More specific packages may use functionality
14// exposed by more general packages and rely on go's module dependency
15// algorithm to execute the init function from the more specific package
16// after the less specific one and hence override the earlier Profile
17// registration.
18//
19// This top level directory contains a 'generic' Profile and utility routines
20// used by other Profiles. It does not follow the convention of registering
21// itself via its Init function, since the expected use is that it will
22// used automatically as a default by the Runtime. Instead it provides a New
23// function. This avoids the need for every main package to import
Jiri Simsa519c5072014-09-17 21:37:57 -070024// "veyron.io/veyron/veyron/profiles", instead, only more specific Profiles must be so imported.
Cosmos Nicolaou6c6fa112014-08-19 13:22:33 -070025//
26// The 'net' Profile adds operating system support for varied network
27// configurations and in particular dhcp. It should be used by any application
28// that may 'roam' or any may be behind a 1-1 NAT.
29//
30// The 'net/bluetooth' Profile adds operating system support for bluetooth
31// networking.
32// TODO(cnicolaou,ashankar): add this
33package profiles