12 Commits

Author SHA1 Message Date
John Galt 0e8d31aafd networkmanager: catch queued send failures 2026-05-19 19:03:35 +02:00
John Galt 2a07f278b2 networkmanager: validate legacy p2p envelopes 2026-05-19 18:09:19 +02:00
John Galt c9e805195a networkmanager: bound native parser to packet 2026-05-19 17:44:04 +02:00
John Galt 1713c8f940 networkmanager: reject short native packets 2026-05-19 10:22:58 +02:00
tomFlowee 151c080642 Start unit test. 2024-08-19 21:53:21 +02:00
tomFlowee 9f16d67460 Make API more robust
this avoids the endPoint() method sometimes throwing an exception from
std::map::at confusing the caller.
2023-07-20 20:59:26 +02:00
tomFlowee ae78dd0bb8 Update email address 2021-06-20 22:44:44 +02:00
tomFlowee afce2134fd Fix include 2020-12-24 12:52:48 +01:00
TomZ 7afefefa41 Improve NWM flow-control
The NetworkManager now has more mature flow-control which means that we
send our buffers more regularly and we delay parsing received data if the
sending takes too long.

The direct effect should be that creating of a large number of messages
in response to incoming messages is no longer a problem in many cases.
2020-09-17 21:04:28 +02:00
TomZ 0c9f415eb8 Several NetworkManager fixes
This adds all the header ints to chunked messages, solving the problem
of losing RequestId on roundtrips if the answer was too big.

Added a unit test for this "new" features.

This makes callbacks all use shared_from_this() in order to avoid
callbacks being done on deleted instances (thanks boost!).

Last, special case when the user doesn't connect but just sends messages
which caused a send of data, only to realize the connection wasn't open,
and then a connect.
This makes sure we immediately start a connect on queue of a message.
2019-06-04 21:40:02 +02:00
TomZ a8dd567006 Add unit test for the ring buffer class. 2019-03-24 11:43:43 +01:00
TomZ 6b29387801 Move NetworkManager unit test to own executable 2019-03-24 10:23:52 +01:00