You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.1 KiB

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