Give encrypted DATA fixture a valid keepalive receive timeout

This commit is contained in:
evgeny committed 2026-10-23 12:36:20 +02:00
1 parent d43716933f
commit 3bba05d354
1 file changed
+10 -1
+10 -1
View File
@@ -396,6 +396,10 @@ static void oom_session_recovery(void) {
for (int i = 0; i < 2; i++) {
ep[i].inst.data_pool = memory_pool_init(PACKET_DATA_SIZE, "OOM session payload"); CHECK(ep[i].inst.data_pool);
CHECK(etcp_bind(&ep[i].inst, 253, receive_after_oom) == 0);
for (int j = 0; j < 2; j++) {
ep[i].links[j].keepalive_interval = ep[i].links[j].ka_period_ms = 1000;
ep[i].links[j].keepalive_timeout = 10000;
}
}
uint64_t source_epoch = ep[0].c->reset_id, failed_epoch = ep[1].c->reset_id;
struct frame old = encrypted_message(0); fail_message = 1; deliver(&old, 0);
@@ -403,7 +407,12 @@ static void oom_session_recovery(void) {
converge();
CHECK(reinit[0] == 1 && reinit[1] == 1 && !down[0] && !down[1]);
CHECK(ep[0].c->reset_id == source_epoch && ep[0].c->peer_reset_id == ep[1].c->reset_id);
for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) CHECK(ep[i].links[j].initialized && ep[i].links[j].link_status);
for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) {
DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "OOM recovery physical side=%d path=%d initialized=%u up=%u state=%u KA=%u/%u down=%u",
i, j, ep[i].links[j].initialized, ep[i].links[j].link_status, ep[i].links[j].link_state,
ep[i].links[j].recv_keepalive, ep[i].links[j].remote_keepalive, down[i]);
CHECK(ep[i].links[j].initialized && ep[i].links[j].link_status);
}
deliver(&old, 0); CHECK(!messages[1] && !ep[1].c->last_delivered_id);
for (int i = 0; i < 2; i++) { struct frame fresh = encrypted_message(i); deliver(&fresh, 0); }
CHECK(messages[0] == 1 && messages[1] == 1);