Batch events

It's now a Tick that locks down event order. Before this change, the
event order would be locked down in the order the server sees it.

Fixes #59
Fixes #61
This commit is contained in:
Greg Fitzgerald
2018-03-09 16:16:29 -07:00
parent 209910299d
commit cc9f0788aa
8 changed files with 91 additions and 76 deletions

View File

@ -93,11 +93,13 @@ impl AccountantStub {
self.socket.recv_from(&mut buf)?;
let resp = deserialize(&buf).expect("deserialize signature");
if let Response::Entries { entries } = resp {
for Entry { id, event, .. } in entries {
for Entry { id, events, .. } in entries {
self.last_id = Some(id);
if let Some(sig) = event.get_signature() {
if sig == *wait_sig {
return Ok(());
for event in events {
if let Some(sig) = event.get_signature() {
if sig == *wait_sig {
return Ok(());
}
}
}
}