@@ 231,9 231,15 @@
['cands
(displayln (hash-ref election->candidates election))]
['peers
- (displayln (hash-values _peers))])]
+ (displayln (hash-values _peers))]
+ ['elections
+ (displayln (format "current: ~a" election))
+ (displayln (hash-keys election->candidates))])]
['set (match (read sp)
- ['election (let ([election (read sp)])
+ ['election (let* ([election (read sp)]
+ [election (if (string? election)
+ (string->symbol election)
+ election)])
(election-set! election))]
[else (displayln "cannot set that")])]
['open
@@ 251,10 257,10 @@
[peer-uname (if (symbol? peer-uname)
(symbol->string peer-uname)
peer-uname)])
- (for ([peer _peers]
+ (for ([(token peer) _peers]
#:when (equal? (hash-ref peer 'username)
peer-uname))
- (set-remove! _peers peer)))
+ (hash-remove! _peers token)))
(displayln "close the election first"))]
[else (displayln "unknown command")])
(loop)))))))