mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-04-10 04:19:58 +00:00
Resume activity newsince when acking our own message
This commit is contained in:
parent
576e95e2cd
commit
9b7d8bfa23
7
meshmb.c
7
meshmb.c
@ -82,7 +82,7 @@ static int activity_next_ack(struct meshmb_activity_iterator *i){
|
||||
}
|
||||
}
|
||||
|
||||
if (memcmp(&i->msg_reader.bundle_id, bundle_id, sizeof *bundle_id)==0){
|
||||
if (cmp_rhizome_bid_t(&i->msg_reader.bundle_id, bundle_id)==0){
|
||||
// shortcut for consecutive acks for the same incoming feed
|
||||
DEBUGF(meshmb, "Ply still open @%"PRIu64, i->msg_reader.read.offset);
|
||||
}else{
|
||||
@ -187,6 +187,9 @@ static int finish_ack_writing(struct meshmb_feeds *feeds){
|
||||
|
||||
rhizome_manifest_free(feeds->ack_manifest);
|
||||
feeds->ack_manifest = NULL;
|
||||
if (!feeds->dirty)
|
||||
feeds->generation++;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -353,6 +356,8 @@ int meshmb_bundle_update(struct meshmb_feeds *feeds, rhizome_manifest *m, struct
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
if (cmp_rhizome_bid_t(&m->keypair.public_key, &feeds->ack_bundle_keypair.public_key)==0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -288,11 +288,13 @@ test_MeshMBRestNewActivity() {
|
||||
executeOk_servald meshmb send $IDA3 "Message 4"
|
||||
executeOk_servald meshmb send $IDA2 "Message 5"
|
||||
executeOk_servald meshmb send $IDA3 "Message 6"
|
||||
executeOk_servald meshmb send $IDA1 "Message 7"
|
||||
for i in 1 2 3; do
|
||||
wait_until grep "Message 3" newsince$i.json
|
||||
wait_until grep "Message 4" newsince$i.json
|
||||
wait_until grep "Message 5" newsince$i.json
|
||||
wait_until grep "Message 6" newsince$i.json
|
||||
wait_until grep "Message 7" newsince$i.json
|
||||
done
|
||||
fork_terminate_all
|
||||
fork_wait_all
|
||||
@ -305,11 +307,12 @@ test_MeshMBRestNewActivity() {
|
||||
tfw_preserve newsince$i.json objects$i.json
|
||||
done
|
||||
for i in 1 2 3; do
|
||||
assert [ "$(jq '.rows | length' newsince$i.json)" = 4 ]
|
||||
assert [ "$(jq '.rows | length' newsince$i.json)" = 5 ]
|
||||
assertJq objects$i.json "contains([{ id: \"$IDA2\", author: \"$SIDA2\", name: \"Feed B\", message: \"Message 3\"}])"
|
||||
assertJq objects$i.json "contains([{ id: \"$IDA3\", author: \"$SIDA3\", name: \"Feed C\", message: \"Message 4\"}])"
|
||||
assertJq objects$i.json "contains([{ id: \"$IDA2\", author: \"$SIDA2\", name: \"Feed B\", message: \"Message 5\"}])"
|
||||
assertJq objects$i.json "contains([{ id: \"$IDA3\", author: \"$SIDA3\", name: \"Feed C\", message: \"Message 6\"}])"
|
||||
assertJq objects$i.json "contains([{ id: \"$IDA1\", author: \"$SIDA1\", name: \"Feed A\", message: \"Message 7\"}])"
|
||||
done
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user