Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 1 | package profiles |
| 2 | |
| 3 | import ( |
Jiri Simsa | 519c507 | 2014-09-17 21:37:57 -0700 | [diff] [blame] | 4 | "veyron.io/veyron/veyron2" |
| 5 | "veyron.io/veyron/veyron2/config" |
Cosmos Nicolaou | 767b62d | 2014-09-19 13:58:40 -0700 | [diff] [blame] | 6 | "veyron.io/veyron/veyron2/ipc" |
Cosmos Nicolaou | f889c73 | 2014-10-16 20:46:54 -0700 | [diff] [blame] | 7 | "veyron.io/veyron/veyron2/rt" |
Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 8 | |
Jiri Simsa | 519c507 | 2014-09-17 21:37:57 -0700 | [diff] [blame] | 9 | "veyron.io/veyron/veyron/profiles/internal" |
Cosmos Nicolaou | f889c73 | 2014-10-16 20:46:54 -0700 | [diff] [blame] | 10 | _ "veyron.io/veyron/veyron/runtimes/google/rt" |
Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 11 | ) |
| 12 | |
Cosmos Nicolaou | d6c3c9c | 2014-09-30 15:42:53 -0700 | [diff] [blame] | 13 | // LocalListenSpec is a ListenSpec for 127.0.0.1. |
Cosmos Nicolaou | f8d4c2b | 2014-10-23 22:36:38 -0700 | [diff] [blame] | 14 | var LocalListenSpec = ipc.ListenSpec{ |
Cosmos Nicolaou | 767b62d | 2014-09-19 13:58:40 -0700 | [diff] [blame] | 15 | Protocol: "tcp", |
| 16 | Address: "127.0.0.1:0", |
| 17 | AddressChooser: internal.IPAddressChooser, |
| 18 | } |
| 19 | |
Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 20 | type generic struct{} |
| 21 | |
Benjamin Prosnitz | fdfbf7b | 2014-10-08 09:47:21 -0700 | [diff] [blame] | 22 | var _ veyron2.Profile = (*generic)(nil) |
| 23 | |
Cosmos Nicolaou | f889c73 | 2014-10-16 20:46:54 -0700 | [diff] [blame] | 24 | func init() { |
| 25 | rt.RegisterProfile(New()) |
| 26 | } |
| 27 | |
Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 28 | // New returns a new instance of a very generic Profile. It can be used |
| 29 | // as a default by Runtime implementations, in unit tests etc. |
| 30 | func New() veyron2.Profile { |
| 31 | return &generic{} |
| 32 | } |
| 33 | |
| 34 | func (*generic) Name() string { |
| 35 | return "generic" |
| 36 | } |
| 37 | |
| 38 | func (*generic) Runtime() string { |
Cosmos Nicolaou | f889c73 | 2014-10-16 20:46:54 -0700 | [diff] [blame] | 39 | return veyron2.GoogleRuntimeName |
Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 40 | } |
| 41 | |
| 42 | func (*generic) Platform() *veyron2.Platform { |
| 43 | p, _ := Platform() |
| 44 | return p |
| 45 | } |
| 46 | |
Cosmos Nicolaou | 682d7fd | 2014-09-24 22:54:16 -0700 | [diff] [blame] | 47 | func (g *generic) Init(rt veyron2.Runtime, _ *config.Publisher) error { |
Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 48 | rt.Logger().VI(1).Infof("%s", g) |
Cosmos Nicolaou | 682d7fd | 2014-09-24 22:54:16 -0700 | [diff] [blame] | 49 | return nil |
Cosmos Nicolaou | ef323db | 2014-09-07 22:13:28 -0700 | [diff] [blame] | 50 | } |
| 51 | |
| 52 | func (g *generic) String() string { |
| 53 | return "generic profile on " + g.Platform().String() |
| 54 | } |