arnaucube
arnaucube/go-dvotePublic Self-hosted repository
go-dvote/main.go
main.goRaw
 1package main
 2
 3import (
 4	"fmt"
 5	"time"
 6	"github.com/vocdoni/dvote-relay/batch"
 7	"github.com/vocdoni/dvote-relay/net"
 8)
 9
10var dbPath = "$HOME/.dvote/relay.db"
11var bdbPath = "$HOME/.dvote/batch.db"
12var batchSeconds = 30 //seconds
13var batchSize = 3 //packets
14
15var err error
16var batchTimer *time.Ticker
17var batchSignal chan bool
18var signal bool
19
20
21func setup() {
22	batchTimer = time.NewTicker(time.Second * time.Duration(batchSeconds))
23	batchSignal = make(chan bool)
24
25	batch.DBPath = dbPath
26	batch.BDBPath = bdbPath
27	batch.BatchSignal = batchSignal
28	batch.BatchSize = batchSize
29}
30
31func main() {
32	setup()
33//	batch.Setup()
34	fmt.Println("Entering main loop")
35	go net.Listen("8080")
36	for {
37		select {
38		case <- batchTimer.C:
39			fmt.Println("Timer triggered")
40			fmt.Println(batch.Create())
41			//replace with chain link
42		case signal := <-batchSignal:
43			if signal == true {
44				fmt.Println("Signal triggered")
45				fmt.Println(batch.Create())
46			}
47		default:
48			continue
49		}
50	}
51}