package net import ( "errors" ) type Transport interface { Listen() error Init(c string) error } type TransportID int const ( HTTP TransportID = iota + 1 PubSub ) func TransportIDFromString(i string) TransportID { switch i { case "PubSub" : return PubSub case "HTTP": return HTTP default: return -1 } } func Init(t TransportID) (Transport, error) { switch t { case PubSub : p := new(PubSubHandle) p.Init("vocdoni_pubsub_testing") return p, nil case HTTP : h := new(HttpHandle) h.Init("8080/submit") return h, nil default: return nil, errors.New("Bad transport type specification") } }