blob: 3edb75349365e607b655c249b0bb64fb86a91415 [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 Nicolaouef323db2014-09-07 22:13:28 -07007
Jiri Simsa519c5072014-09-17 21:37:57 -07008 "veyron.io/veyron/veyron/profiles/internal"
Cosmos Nicolaouef323db2014-09-07 22:13:28 -07009)
10
Cosmos Nicolaoud6c3c9c2014-09-30 15:42:53 -070011// LocalListenSpec is a ListenSpec for 127.0.0.1.
12var LocalListenSpec = &ipc.ListenSpec{
Cosmos Nicolaou767b62d2014-09-19 13:58:40 -070013 Protocol: "tcp",
14 Address: "127.0.0.1:0",
15 AddressChooser: internal.IPAddressChooser,
16}
17
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070018type generic struct{}
19
20// New returns a new instance of a very generic Profile. It can be used
21// as a default by Runtime implementations, in unit tests etc.
22func New() veyron2.Profile {
23 return &generic{}
24}
25
26func (*generic) Name() string {
27 return "generic"
28}
29
30func (*generic) Runtime() string {
31 return ""
32}
33
34func (*generic) Platform() *veyron2.Platform {
35 p, _ := Platform()
36 return p
37}
38
Cosmos Nicolaou682d7fd2014-09-24 22:54:16 -070039func (g *generic) Init(rt veyron2.Runtime, _ *config.Publisher) error {
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070040 rt.Logger().VI(1).Infof("%s", g)
Cosmos Nicolaou682d7fd2014-09-24 22:54:16 -070041 return nil
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070042}
43
44func (g *generic) String() string {
45 return "generic profile on " + g.Platform().String()
46}