aboutsummaryrefslogtreecommitdiffstats
path: root/simulation/peer-server.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2018-08-07 14:33:13 +0800
committerGitHub <noreply@github.com>2018-08-07 14:33:13 +0800
commit3a929b656b6bd5846849fd98dc29ff761db97ed3 (patch)
tree25438de64f434866293aa408915c735352949e6f /simulation/peer-server.go
parent5a818558fc0e8f038ba92b5b6dfa3b55a04b9589 (diff)
downloaddexon-consensus-3a929b656b6bd5846849fd98dc29ff761db97ed3.tar
dexon-consensus-3a929b656b6bd5846849fd98dc29ff761db97ed3.tar.gz
dexon-consensus-3a929b656b6bd5846849fd98dc29ff761db97ed3.tar.bz2
dexon-consensus-3a929b656b6bd5846849fd98dc29ff761db97ed3.tar.lz
dexon-consensus-3a929b656b6bd5846849fd98dc29ff761db97ed3.tar.xz
dexon-consensus-3a929b656b6bd5846849fd98dc29ff761db97ed3.tar.zst
dexon-consensus-3a929b656b6bd5846849fd98dc29ff761db97ed3.zip
simulation: Show internal and external timestamp latency. (#30)
Diffstat (limited to 'simulation/peer-server.go')
-rw-r--r--simulation/peer-server.go29
1 files changed, 22 insertions, 7 deletions
diff --git a/simulation/peer-server.go b/simulation/peer-server.go
index 8f2d6ba..bae323e 100644
--- a/simulation/peer-server.go
+++ b/simulation/peer-server.go
@@ -208,17 +208,32 @@ func (p *PeerServer) Run(configPath string) {
return
}
- if m.Type != shutdownAck {
+ switch m.Type {
+ case shutdownAck:
+ delete(p.peers, id)
+ log.Printf("%v shutdown, %d remains.\n", id, len(p.peers))
+ if len(p.peers) == 0 {
+ stopServer <- struct{}{}
+ }
+ break
+ case blockTimestamp:
+ msgs := []TimestampMessage{}
+ if err := json.Unmarshal(m.Payload, &msgs); err != nil {
+ w.WriteHeader(http.StatusBadRequest)
+ return
+ }
+ for _, msg := range msgs {
+ if ok := p.peerTotalOrder[id].PushTimestamp(msg); !ok {
+ w.WriteHeader(http.StatusBadRequest)
+ return
+ }
+ }
+ break
+ default:
w.WriteHeader(http.StatusBadRequest)
return
}
-
w.WriteHeader(http.StatusOK)
- delete(p.peers, id)
- log.Printf("%v shutdown, %d remains.\n", id, len(p.peers))
- if len(p.peers) == 0 {
- stopServer <- struct{}{}
- }
}
http.HandleFunc("/reset", resetHandler)