mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-07 03:16:45 +01:00
Add mock proof server
This commit is contained in:
47
test/proofserver/cli/main.go
Normal file
47
test/proofserver/cli/main.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/hermeznetwork/hermez-node/test/proofserver"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var addr string
|
||||
flag.StringVar(&addr, "a", "localhost:3000", "listen address")
|
||||
var provingDuration time.Duration
|
||||
flag.DurationVar(&provingDuration, "d", 2*time.Second, "proving time duration") //nolint:gomnd
|
||||
flag.Parse()
|
||||
|
||||
mock := proofserver.NewMock(addr, provingDuration)
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
var wg sync.WaitGroup
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
if err := mock.Run(ctx); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
wg.Done()
|
||||
}()
|
||||
|
||||
stopCh := make(chan interface{})
|
||||
// catch ^C to send the stop signal
|
||||
ossig := make(chan os.Signal, 1)
|
||||
signal.Notify(ossig, os.Interrupt)
|
||||
go func() {
|
||||
for sig := range ossig {
|
||||
if sig == os.Interrupt {
|
||||
stopCh <- nil
|
||||
}
|
||||
}
|
||||
}()
|
||||
<-stopCh
|
||||
cancel()
|
||||
wg.Wait()
|
||||
}
|
||||
Reference in New Issue
Block a user