0402442929
Begin work on TSLQueue
2019-10-22 20:24:23 +09:00
0f435613bc
Refactor logging
...
Removed redundant checking of logging type in log_impl* .
2019-10-22 19:27:55 +09:00
b11d87ca12
Rework sendPkts (sending queue)
...
Changed sendPkts in ConnectionData to std::deque, added a TSQueue
cSendPkts to Context. Queued packets will be moved to corresponding
ConnectionData instances during update, dropping with a warning those
where a connection does not exist.
Minor other fixes.
Some additions to TSQueue.
2019-09-27 20:19:48 +09:00
98e88237ce
Implement header verification via libsodium
...
The original 20 byte header is now verified with public-key-crypto using
libsodium.
Also some fixes where ntohs/htons was not used where it should be.
2019-09-23 20:11:12 +09:00
328d44fbb6
Add support for MINGW compiler
2019-09-21 12:15:49 +09:00
aa7255c2e5
Fixes and improvements
...
Fix use of accept-connections flag.
Fix use of TSQueue (add top_and_pop_and_rsize fn).
Reduce sleep time of threadedUpdate to 8 ms.
2019-09-20 16:59:16 +09:00
27528bfbc5
Use macro to conditionally log
...
This should skip evaluating log parameters if the log level is not met.
2019-09-20 14:26:59 +09:00
5a3c7cd9a0
Many fixes, including sending packets with payload
...
Implemented UDPC_get_received
Added UDPC_get_list_connected and UDPC_free_list_connected.
2019-09-20 14:02:41 +09:00
f6ba9e21b6
Fix parsing of ipv6 link-local address
...
Add support for numeric id in suffix of ipv6 link-local address.
2019-09-19 14:30:10 +09:00
71f7bc4977
Fix Windows support
2019-09-19 12:23:15 +09:00
0e22357d55
Rename enum types to avoid name conflict
2019-09-19 10:58:19 +09:00
8661af9529
Attempt to make code platform agnostic
...
Getting scope_id from device name from ipv6 link-local address was
previously using only a unix supported api. Added (untested) code to do
the same for windows machines.
2019-09-19 10:35:22 +09:00
5eb0feb22b
Fix atostr
2019-09-18 18:39:35 +09:00
355f3b2bd0
Add support for link-local ipv6 addr
2019-09-18 17:35:14 +09:00
31c40d4739
Fix NetworkTest
...
Allow setting listen addr to "any".
2019-09-18 13:56:04 +09:00
fefbfc8d70
Fix setting trigger-send flag
...
Fix trigger-send flag related bug where send time of packets were
inconsistent.
Also fix UDPC_client_initiate_connection not immediately sending connection
packet.
2019-09-18 11:42:16 +09:00
2bc6eeffe9
Impl NetworkTest, fixes and refactoring
...
Basic connections can now be tested with NetworkTest.
Also includes fixes to UDPC that now create a working connection.
TODO Fix client sending at good rate even in bad rate mode.
2019-09-17 20:33:47 +09:00
a642db53f0
Add support for UDPC_strtoa to accept ipv4 input
...
UDPC_strtoa can now return an ipv4-mapped ipv6 address given an ipv4
string. Also, added validation of input strings via regex.
2019-09-17 17:17:16 +09:00
17d05b4a19
Use mutex for thread safety
2019-09-16 12:00:25 +09:00
d159bd84b7
Add command parsing for NetworkTest
2019-09-16 11:52:03 +09:00
e320a6343e
Impl threaded init/update
2019-09-16 11:40:43 +09:00
255930db9a
Replace ipv4 with ipv6
...
ipv6 also supports sending to ipv4.
2019-09-07 16:36:11 +09:00
38eb06f105
Make atostr more thread safe
...
atostr now can hold 64 different results, and can be called from
multiple threads. Thus, a returned string buffer is valid until atostr
is called 64 more times.
2019-09-03 16:19:47 +09:00
05cb45ca14
Prevent exceptions being thrown in TSQueue
...
TSQueue's top() and top_and_pop() now return std::optional<T> instead of
just T.
2019-09-03 15:15:09 +09:00
150deb7e5c
Expose ConnectionId to C interface, fixes
...
Removed UDPC:ConnectionIdentifier from UDPC_Defines.hpp and added
ConnectionId to UDPConnection.h, and replaced/fixed instances of the
older type.
2019-09-03 12:06:46 +09:00
0167c4953b
Add top_and_pop fn to TSQueue
2019-08-30 15:55:43 +09:00
ee85ced0e0
Minor fixes
2019-08-30 14:57:24 +09:00
ba5d9178dc
Simpifly opaque struct handle to context
2019-08-30 12:11:07 +09:00
e8c07680a6
Remove already resolved TODO comment
2019-08-30 12:04:39 +09:00
fe41bbb764
Use opaque struct as handle in C interface, fix
...
Fixed log_impl_next.
2019-08-30 12:03:26 +09:00
3a754e97b5
Impl logging, minor fixes/refactorings
2019-08-29 12:56:09 +09:00
6aa2e8aa51
Minor formatting fix
2019-08-29 11:20:36 +09:00
d027b1703a
Add client_initiate_connection fn, some fixes
2019-08-29 11:07:24 +09:00
f10521ec52
Impl drop all connections with specific addr
...
Fix UDPC_drop_connection that didn't fully cleanup connection data.
Added UDPC_drop_connection_addr fn that drops all connections with a
specific addr.
2019-08-28 16:38:14 +09:00
8dba751929
Some fixes
...
Fix id of sent packet stored in network byte order instead of native
order.
Fix failing to send packet not stopping storing sent packet data.
2019-08-28 15:54:18 +09:00
35bc629b1b
Add some Unit Tests for UDPC
2019-08-27 18:03:30 +09:00
8883d84b9b
Minor fix
2019-08-27 17:53:18 +09:00
1382cc6b7c
Store connections based on both addr and port
...
Previous implementation only stored based on addr only, preventing
connections from/to the same address but different ports.
2019-08-27 17:00:29 +09:00
57e270eb15
Replace all uses of float with chrono::duration
2019-08-27 16:31:24 +09:00
f5cfbe41d5
Fix warnings, some impl, still WIP
2019-08-27 14:06:27 +09:00
da6d752b55
Set max size for received pkts queue
2019-08-27 13:06:15 +09:00
236b03c9b1
Impl storing received packet
2019-08-27 13:03:38 +09:00
418c088084
Impl check timed-out packets
...
Still WIP
2019-08-27 12:42:43 +09:00
7482fecb37
More impl: rtt and timepoint per sent pkt
2019-08-22 20:16:07 +09:00
0065928422
More impl, fix move for TSQueue
2019-08-22 16:08:05 +09:00
1e0f631ab2
Some WIP impl of receiving packet handling
2019-08-18 19:14:14 +09:00
bf27c328a6
Impl sending queued packet
...
TODO receiving packet
2019-08-18 18:34:45 +09:00
29009c2b8c
Replace spinlock with mutex/lock_guard in TSQueue
2019-08-18 18:10:11 +09:00
5c4360cabe
Some more work on cpp_impl (still WIP)
2019-07-25 20:51:08 +09:00
0bd51418a2
Some work on update impl
2019-07-21 14:29:31 +09:00