Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 1 | // 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 Simsa | 519c507 | 2014-09-17 21:37:57 -0700 | [diff] [blame] | 24 | // "veyron.io/veyron/veyron/profiles", instead, only more specific Profiles must be so imported. |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 25 | // |
| 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 |
| 33 | package profiles |