lilleman
9d3dbc522c
Drop the doc offer() restated
Mirror / push (push) Has been cancelled
Test / lint (pull_request) Successful in 24s
Test / test (18) (pull_request) Successful in 32s
Test / test (22) (pull_request) Successful in 31s
Test / test (20) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 34s
Test / test (26) (pull_request) Successful in 31s
2026-09-28 10:54:50 +02:00
lilleman
9df7f05669
Make offer() the only way to hold a message
Mirror / push (push) Successful in 7s
Test / lint (pull_request) Successful in 22s
Test / test (18) (pull_request) Successful in 32s
Test / test (20) (pull_request) Successful in 31s
Test / test (22) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 33s
Test / test (26) (pull_request) Successful in 32s
2026-09-28 10:52:36 +02:00
lilleman
1db63e19ed
Return the hold offer() took
2026-09-28 10:51:07 +02:00
lilleman
d8c2647e75
Name every way a hold ends
2026-09-28 10:50:54 +02:00
lilleman
e52baafd29
Give the held-message flow one place a reader can follow it
Mirror / push (push) Successful in 6s
Test / lint (pull_request) Successful in 24s
Test / test (18) (pull_request) Successful in 32s
Test / test (20) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 32s
Test / test (22) (pull_request) Successful in 32s
Test / test (26) (pull_request) Successful in 31s
2026-09-28 10:48:38 +02:00
lilleman
b1a4201a7d
Record a group's weight through weigh() alone
Mirror / push (push) Successful in 5s
Test / lint (pull_request) Successful in 22s
Test / test (18) (pull_request) Successful in 31s
Test / test (20) (pull_request) Successful in 31s
Test / test (22) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 31s
Test / test (26) (pull_request) Successful in 39s
2026-09-28 01:13:51 +02:00
lilleman
91c155175f
Derive the retained octets from ExpiringGroups' weight
Test / lint (pull_request) Successful in 22s
Test / test (18) (pull_request) Successful in 31s
Test / test (20) (pull_request) Successful in 31s
Test / test (22) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 33s
Test / test (26) (pull_request) Successful in 32s
Mirror / push (push) Successful in 5s
2026-09-28 01:09:12 +02:00
lilleman
0b9b210fb2
Keep a hold's release behind MessageHold, and require its listener count
Test / lint (pull_request) Successful in 23s
Test / test (18) (pull_request) Successful in 31s
Test / test (20) (pull_request) Successful in 31s
Test / test (22) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 31s
Test / test (26) (pull_request) Successful in 32s
Mirror / push (push) Successful in 5s
2026-09-28 01:03:15 +02:00
lilleman
bd1284b661
Give the held-message protocol one home in MessageHold
Test / lint (pull_request) Successful in 23s
Test / test (18) (pull_request) Successful in 34s
Test / test (20) (pull_request) Successful in 31s
Test / test (22) (pull_request) Successful in 39s
Test / test (24) (pull_request) Successful in 32s
Test / test (26) (pull_request) Successful in 39s
Mirror / push (push) Successful in 5s
2026-09-28 00:59:38 +02:00
lilleman
f2977638f2
Stop refusing only once the held messages are down to half, so a full window warns once, and name the octets in the warning
Mirror / push (push) Successful in 5s
Test / test (22) (pull_request) Successful in 31s
Test / lint (pull_request) Successful in 22s
Test / test (18) (pull_request) Successful in 30s
Test / test (20) (pull_request) Successful in 30s
Test / test (24) (pull_request) Successful in 31s
Test / test (26) (pull_request) Successful in 31s
2026-09-26 14:44:00 +02:00
lilleman
855ccbe75f
Refuse a message past the held-message bound with ESME_RTHROTTLED, and answer a full reassembly buffer the same way
Test / lint (pull_request) Successful in 23s
Test / test (18) (pull_request) Successful in 31s
Test / test (20) (pull_request) Successful in 31s
Test / test (22) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 31s
Test / test (26) (pull_request) Successful in 31s
Mirror / push (push) Successful in 4s
2026-09-26 13:18:56 +02:00
lilleman
c3ebd6d6bc
Cap the heap unanswered messages hold, and detach them from the chunk they arrived in
Test / lint (pull_request) Successful in 25s
Test / test (18) (pull_request) Successful in 33s
Test / test (20) (pull_request) Successful in 32s
Test / test (22) (pull_request) Successful in 32s
Test / test (24) (pull_request) Successful in 31s
Test / test (26) (pull_request) Successful in 31s
Mirror / push (push) Successful in 6s
2026-09-25 19:22:31 +02:00
lilleman
5b7b563dc2
Answer every segment of an inbound concatenated message as it arrives ( #83 )
...
* Regression tests for answering every inbound segment as it arrives
* Answer every segment of an inbound concatenated message as it arrives
* Record the segment-by-segment answer in AGENTS.md and README
* Regression tests for an empty message_id on deliver_sm_resp
* Answer a deliver_sm with the empty message_id SMPP 3.4 makes it
* Record Jasmin's refusal of a deliver_sm_resp message_id
* Mark the Jasmin multipart deadlock fixed
* Regression tests for the architecture review's findings
* Give the segment id notation an owner, and every segment a status
* Correct what the ids reach and what a lost group tells the application
* Regression tests for a group lost to its own octet overrun
* Report a group lost to its own overrun, and refuse by the command it arrived on
* Keep the docs true about what a segment is answered with
* Count only the answered segments of a group lost to an overrun
* Report only what a lost group cost, and say which cap bit
2026-09-06 04:16:11 +02:00
lilleman
f0327044b1
Cover the receipt refusal and the sweep that wakes a drain
2026-09-01 18:13:35 +02:00
lilleman
042a62be97
Sweep held messages before each hold, so expiry needs no live timer
2026-09-01 18:02:15 +02:00
lilleman
61985fb914
Say what a peer did with each receipt segment, and leave no drop unlogged
2026-09-01 17:59:37 +02:00
lilleman
67c0402def
Bound the messages held for a shutdown, and report a partial receipt
2026-09-01 17:42:22 +02:00
lilleman
8becbc0ab6
Give the gate, the window and the pending map one owner
2026-09-01 16:52:15 +02:00
lilleman
3bcea108e3
Wait out the messages the application holds before shutting a session down
2026-09-01 13:58:28 +02:00