Commit graph

54 commits

Author SHA1 Message Date
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
640102c091 Minor changes/fixes, clang-format fixes 2019-07-21 13:45:42 +09:00
084700d54b Minor fix 2019-07-07 14:48:58 +09:00
132508d5cc Add check for endianness, fix strtoa for ipv4 2019-07-07 14:44:37 +09:00
f10c53d92c Change TSQueue to be a wrapper around a queue 2019-07-07 14:13:16 +09:00
973e71ead0 Add more to unit test for TSQueue 2019-06-07 12:17:35 +09:00
8548d4f6ed Add unit test and fixes for TSQueue 2019-06-07 11:33:44 +09:00