blob: 0d9dda2ab594a5ef418278895e1a6e3b65337fe8 [file] [log] [blame]
Cosmos Nicolaouef323db2014-09-07 22:13:28 -07001package profiles
2
3import (
Jiri Simsa519c5072014-09-17 21:37:57 -07004 "veyron.io/veyron/veyron2"
5 "veyron.io/veyron/veyron2/config"
Cosmos Nicolaou767b62d2014-09-19 13:58:40 -07006 "veyron.io/veyron/veyron2/ipc"
Cosmos Nicolaouf889c732014-10-16 20:46:54 -07007 "veyron.io/veyron/veyron2/rt"
Cosmos Nicolaouef323db2014-09-07 22:13:28 -07008
Jiri Simsa519c5072014-09-17 21:37:57 -07009 "veyron.io/veyron/veyron/profiles/internal"
Cosmos Nicolaouf889c732014-10-16 20:46:54 -070010 _ "veyron.io/veyron/veyron/runtimes/google/rt"
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070011)
12
Cosmos Nicolaoud6c3c9c2014-09-30 15:42:53 -070013// LocalListenSpec is a ListenSpec for 127.0.0.1.
Cosmos Nicolaouf8d4c2b2014-10-23 22:36:38 -070014var LocalListenSpec = ipc.ListenSpec{
Cosmos Nicolaou767b62d2014-09-19 13:58:40 -070015 Protocol: "tcp",
16 Address: "127.0.0.1:0",
17 AddressChooser: internal.IPAddressChooser,
18}
19
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070020type generic struct{}
21
Benjamin Prosnitzfdfbf7b2014-10-08 09:47:21 -070022var _ veyron2.Profile = (*generic)(nil)
23
Cosmos Nicolaouf889c732014-10-16 20:46:54 -070024func init() {
25 rt.RegisterProfile(New())
26}
27
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070028// 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.
30func New() veyron2.Profile {
31 return &generic{}
32}
33
34func (*generic) Name() string {
35 return "generic"
36}
37
38func (*generic) Runtime() string {
Cosmos Nicolaouf889c732014-10-16 20:46:54 -070039 return veyron2.GoogleRuntimeName
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070040}
41
42func (*generic) Platform() *veyron2.Platform {
43 p, _ := Platform()
44 return p
45}
46
Cosmos Nicolaou682d7fd2014-09-24 22:54:16 -070047func (g *generic) Init(rt veyron2.Runtime, _ *config.Publisher) error {
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070048 rt.Logger().VI(1).Infof("%s", g)
Cosmos Nicolaou682d7fd2014-09-24 22:54:16 -070049 return nil
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070050}
51
52func (g *generic) String() string {
53 return "generic profile on " + g.Platform().String()
54}