laserproxy: extend deadline to 60min & random changes
Change-Id: I2601d2da8da567d8dd6beecc630de911d5d161c3
diff --git a/hswaw/laserproxy/main.go b/hswaw/laserproxy/main.go
index 07d7bcd..03c2bf8 100644
--- a/hswaw/laserproxy/main.go
+++ b/hswaw/laserproxy/main.go
@@ -22,6 +22,7 @@
flagLaserNetworkAddress = "10.11.0.1"
flagClientNetworkAddress = "10.8.1.2"
flagWebAddress = "127.0.0.1:8080"
+ flagOwnershipDuration = "1h"
tplIndex = template.Must(template.New("index.html").Parse(tpl.MustAssetString("index.html")))
)
@@ -35,6 +36,7 @@
flag.StringVar(&flagLaserNetworkAddress, "laser_network", flagLaserNetworkAddress, "Address of proxy on laser network")
flag.StringVar(&flagClientNetworkAddress, "client_network", flagClientNetworkAddress, "Address of proxy on client network")
flag.StringVar(&flagWebAddress, "web_address", flagWebAddress, "Address and port to listen on for public web connections")
+ flag.StringVar(&flagOwnershipDuration, "timeout_duration", flagOwnershipDuration, "Time after which lasercutter lock will expire when not in use")
flag.Parse()
m := mirko.New()
@@ -63,13 +65,18 @@
glog.Fatalf("could not make laser UDP address: %v", err)
}
+ ownershipDuration, err := time.ParseDuration(flagOwnershipDuration)
+ if err != nil {
+ glog.Fatalf("could not parse timeout duration: %v", err)
+ }
+
ctx := m.Context()
s := &service{
lockCtrl: make(chan *lockCtrl),
}
updates := make(chan *lockUpdate)
go s.runProxy(ctx, updates, laserAddr, lisLaser, lisClient)
- go s.runLocker(ctx, s.lockCtrl)
+ go s.runLocker(ctx, s.lockCtrl, ownershipDuration)
s.lockCtrl <- &lockCtrl{
subscribe: &lockCtrlSubscribe{
subscriber: updates,
@@ -103,7 +110,7 @@
var (
sampleNames = []string{
- "enleth", "radex", "qdot", "hans acker", "makłowicz",
+ "enleth", "radex", "qdot", "hans acker", "lars aser", "makłowicz",
}
)
@@ -126,13 +133,13 @@
err := tplIndex.Execute(w, struct {
You bool
CurrentAddress string
- CurrentNote string
+ CurrentName string
CurrentDeadline string
SampleName string
}{
You: cur.addr == remoteAddr(r),
CurrentAddress: cur.addr,
- CurrentNote: cur.note,
+ CurrentName: cur.note,
CurrentDeadline: fmt.Sprintf("%d minute(s)", int(cur.deadline.Sub(time.Now()).Minutes())),
SampleName: sampleNames[rand.Intn(len(sampleNames))],
})
@@ -149,7 +156,7 @@
who := r.Form.Get("who")
prev := r.Form.Get("prev")
if who == "" {
- fmt.Fprintf(w, "sorry, who are you? please specify a name")
+ fmt.Fprintf(w, "excuse me, who are you? please specify a name")
return
}