From 7128e24db350dbf73ccf1f9db9d804f62f2256c4 Mon Sep 17 00:00:00 2001 From: imw Date: Thu, 7 Feb 2019 13:32:49 +0100 Subject: [PATCH] working implementation of modular transports, generator still pubsub only --- cmd/generator/generator.go | 4 ++-- net/http.go | 6 +++--- net/net.go | 6 +++--- net/pubsub.go | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cmd/generator/generator.go b/cmd/generator/generator.go index 6990d32..ae122bb 100644 --- a/cmd/generator/generator.go +++ b/cmd/generator/generator.go @@ -12,7 +12,7 @@ import ( // "bytes" // "io/ioutil" "github.com/vocdoni/dvote-relay/types" - "github.com/vocdoni/dvote-relay/data" + "github.com/vocdoni/dvote-relay/net" ) func makeBallot() string { @@ -85,7 +85,7 @@ func main() { case <- timer.C: var jsonStr = makeEnvelope(makeBallot()) fmt.Println(jsonStr) - data.PsPublish(topic, jsonStr) + net.PsPublish(topic, jsonStr) default: continue } diff --git a/net/http.go b/net/http.go index 7bcecac..023bd03 100644 --- a/net/http.go +++ b/net/http.go @@ -16,7 +16,7 @@ type HttpHandle struct { path string } -func (h HttpHandle) Init(c string) error { +func (h *HttpHandle) Init(c string) error { //split c to port and path cs := strings.Split(c, "/") h.port = cs[0] @@ -66,11 +66,11 @@ func parse(rw http.ResponseWriter, request *http.Request) { io.WriteString(rw, string(j)) } -func (h HttpHandle) Listen() error { +func (h *HttpHandle) Listen() error { http.HandleFunc(h.path, parse) //add waitgroup func() { - fmt.Println("serving on " + h.port) + fmt.Println("serving on " + h.port + "/" + h.path) err := http.ListenAndServe(":" + h.port, nil) if err != nil { return diff --git a/net/net.go b/net/net.go index 941f7c5..aea17d4 100644 --- a/net/net.go +++ b/net/net.go @@ -5,8 +5,8 @@ import ( ) type Transport interface { - Init(c string) error Listen() error + Init(c string) error } type TransportID int @@ -30,11 +30,11 @@ func TransportIDFromString(i string) TransportID { func Init(t TransportID) (Transport, error) { switch t { case PubSub : - var p PubSubHandle + p := new(PubSubHandle) p.Init("vocdoni_pubsub_testing") return p, nil case HTTP : - var h HttpHandle + h := new(HttpHandle) h.Init("8080/submit") return h, nil default: diff --git a/net/pubsub.go b/net/pubsub.go index bd87ce8..e3953b5 100644 --- a/net/pubsub.go +++ b/net/pubsub.go @@ -34,19 +34,19 @@ func PsPublish(topic, data string) error { return nil } -func (p PubSubHandle) Init(topic string) error { +func (p *PubSubHandle) Init(topic string) error { p.topic = topic p.subscription = PsSubscribe(p.topic) - fmt.Println("Subscribed > " + p.topic) return nil } -func (p PubSubHandle) Listen() error { +func (p *PubSubHandle) Listen() error { var msg *shell.Message var err error for { msg, err = p.subscription.Next() if err != nil { + fmt.Fprintf(os.Stderr, "recieve error: %s", err) return err } @@ -74,6 +74,6 @@ func (p PubSubHandle) Listen() error { } } -func (p PubSubHandle) Send(data string) error { +func (p *PubSubHandle) Send(data string) error { return PsPublish(p.topic, data) }