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