Commit Graph

28 Commits

Author SHA1 Message Date
Mark Qvist
b8c6ea015e Fixed missing attribute check 2023-09-19 10:13:27 +02:00
Mark Qvist
254c966159 Fixed potential None reference 2023-09-18 20:52:36 +02:00
Mark Qvist
b237d51276 Cleanup 2023-09-18 11:00:36 +02:00
Mark Qvist
8c8affc800 Improved Channel sequencing, retries and transfer efficiency 2023-09-18 00:42:54 +02:00
Mark Qvist
d7375bc4c3 Fixed callback invocation on channel receive 2023-05-19 01:58:28 +02:00
Mark Qvist
61626897e7 Add channel window mode for slow links 2023-05-11 21:28:13 +02:00
Mark Qvist
fc5b02ed5d Added medium window to channel 2023-05-11 20:23:36 +02:00
Mark Qvist
66fda34b20 Cleanup 2023-05-11 17:48:07 +02:00
Mark Qvist
73faf04ea1 Tuned channel windowing 2023-05-10 20:01:33 +02:00
Mark Qvist
e10ddf9d2d Cleanup 2023-05-10 19:28:28 +02:00
Mark Qvist
641a7ea75d Implemented basic channel windowing 2023-05-10 19:15:45 +02:00
Mark Qvist
e543d5c27f Implemented basic channel windowing 2023-05-10 19:15:20 +02:00
Mark Qvist
01c59ab0c6 Cleanup 2023-05-10 18:44:05 +02:00
Mark Qvist
a4c64abed4 Initial framework for channel windowing 2023-05-10 18:43:17 +02:00
Mark Qvist
f522cb1db1 Added per-packet compression to buffer 2023-05-09 22:13:57 +02:00
Aaron Heise
9c9f0a20f9
Handle sequence overflow when checking incoming message 2023-03-04 23:54:07 -06:00
Aaron Heise
6d9d410a70
Address multiple issues with Buffer and Channel
- StreamDataMessage now packed by struct rather than umsgpack for a more predictable size
- Added protected variable on LocalInterface to allow tests to simulate a low bandwidth connection
- Retry timer now has exponential backoff and a more sane starting value
- Link proves packet _before_ sending contents to Channel; this should help prevent spurious retries especially on half-duplex links
- Prevent Transport packet filter from filtering out duplicate packets for Channel; handle duplicates in Channel to ensure the packet is reproven (in case the original proof packet was lost)
- Fix up other tests broken by these changes
2023-03-04 23:37:58 -06:00
Mark Qvist
d8f3ad8d3f Temporarily disabled extra-level log statement 2023-03-04 19:30:47 +01:00
Mark Qvist
bbfdd37935 Added check for link state before sending 2023-03-04 18:31:07 +01:00
Aaron Heise
aac2b9f987
Buffer: send and receive binary data over Channel
(also some minor fixes in channel)
2023-03-02 17:17:18 -06:00
Aaron Heise
9963cf37b8
Fix exceptions on Channel shutdown 2023-02-28 08:38:23 -06:00
Aaron Heise
118acf77b8
Fix up documentation even more 2023-02-27 21:10:28 -06:00
Aaron Heise
661964277f
Fix up documentation for building 2023-02-27 19:05:25 -06:00
Aaron Heise
464dc23ff0
Add some internal documenation 2023-02-27 17:36:04 -06:00
Aaron Heise
c00b592ed9
System-reserved channel message types
- a message handler can return logical True to prevent subsequent message handlers from running
- Message types >= 0xff00 are reserved for system/framework messages
2023-02-26 11:39:49 -06:00
Aaron Heise
e005826151
Allow channel message handlers to short circuit
- a message handler can return logical True to prevent subsequent message handlers from running
2023-02-26 11:23:38 -06:00
Aaron Heise
fe3a3e22f7
Expose Channel on Link
Separates channel interface from link

Also added: allow multiple message handlers
2023-02-26 07:25:49 -06:00
Aaron Heise
68cb4a6740
Initial work on Channel 2023-02-25 18:23:25 -06:00