Commit graph

284 commits

Author SHA1 Message Date
Stephen Seo 5eb0feb22b Fix atostr 2019-09-18 18:39:35 +09:00
Stephen Seo 355f3b2bd0 Add support for link-local ipv6 addr 2019-09-18 17:35:14 +09:00
Stephen Seo 31c40d4739 Fix NetworkTest
Allow setting listen addr to "any".
2019-09-18 13:56:04 +09:00
Stephen Seo 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
Stephen Seo 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
Stephen Seo 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
Stephen Seo 17d05b4a19 Use mutex for thread safety 2019-09-16 12:00:25 +09:00
Stephen Seo d159bd84b7 Add command parsing for NetworkTest 2019-09-16 11:52:03 +09:00
Stephen Seo e320a6343e Impl threaded init/update 2019-09-16 11:40:43 +09:00
Stephen Seo 255930db9a Replace ipv4 with ipv6
ipv6 also supports sending to ipv4.
2019-09-07 16:36:11 +09:00
Stephen Seo 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
Stephen Seo 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
Stephen Seo 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
Stephen Seo 0167c4953b Add top_and_pop fn to TSQueue 2019-08-30 15:55:43 +09:00
Stephen Seo ee85ced0e0 Minor fixes 2019-08-30 14:57:24 +09:00
Stephen Seo ba5d9178dc Simpifly opaque struct handle to context 2019-08-30 12:11:07 +09:00
Stephen Seo e8c07680a6 Remove already resolved TODO comment 2019-08-30 12:04:39 +09:00
Stephen Seo fe41bbb764 Use opaque struct as handle in C interface, fix
Fixed log_impl_next.
2019-08-30 12:03:26 +09:00
Stephen Seo 3a754e97b5 Impl logging, minor fixes/refactorings 2019-08-29 12:56:09 +09:00
Stephen Seo 6aa2e8aa51 Minor formatting fix 2019-08-29 11:20:36 +09:00
Stephen Seo d027b1703a Add client_initiate_connection fn, some fixes 2019-08-29 11:07:24 +09:00
Stephen Seo 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
Stephen Seo 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
Stephen Seo 35bc629b1b Add some Unit Tests for UDPC 2019-08-27 18:03:30 +09:00
Stephen Seo 8883d84b9b Minor fix 2019-08-27 17:53:18 +09:00
Stephen Seo 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
Stephen Seo 57e270eb15 Replace all uses of float with chrono::duration 2019-08-27 16:31:24 +09:00
Stephen Seo f5cfbe41d5 Fix warnings, some impl, still WIP 2019-08-27 14:06:27 +09:00
Stephen Seo da6d752b55 Set max size for received pkts queue 2019-08-27 13:06:15 +09:00
Stephen Seo 236b03c9b1 Impl storing received packet 2019-08-27 13:03:38 +09:00
Stephen Seo 418c088084 Impl check timed-out packets
Still WIP
2019-08-27 12:42:43 +09:00
Stephen Seo 7482fecb37 More impl: rtt and timepoint per sent pkt 2019-08-22 20:16:07 +09:00
Stephen Seo 0065928422 More impl, fix move for TSQueue 2019-08-22 16:08:05 +09:00
Stephen Seo 1e0f631ab2 Some WIP impl of receiving packet handling 2019-08-18 19:14:14 +09:00
Stephen Seo bf27c328a6 Impl sending queued packet
TODO receiving packet
2019-08-18 18:34:45 +09:00
Stephen Seo 29009c2b8c Replace spinlock with mutex/lock_guard in TSQueue 2019-08-18 18:10:11 +09:00
Stephen Seo 5c4360cabe Some more work on cpp_impl (still WIP) 2019-07-25 20:51:08 +09:00
Stephen Seo 0bd51418a2 Some work on update impl 2019-07-21 14:29:31 +09:00
Stephen Seo 640102c091 Minor changes/fixes, clang-format fixes 2019-07-21 13:45:42 +09:00
Stephen Seo 084700d54b Minor fix 2019-07-07 14:48:58 +09:00
Stephen Seo 132508d5cc Add check for endianness, fix strtoa for ipv4 2019-07-07 14:44:37 +09:00
Stephen Seo f10c53d92c Change TSQueue to be a wrapper around a queue 2019-07-07 14:13:16 +09:00
Stephen Seo 973e71ead0 Add more to unit test for TSQueue 2019-06-07 12:17:35 +09:00
Stephen Seo 8548d4f6ed Add unit test and fixes for TSQueue 2019-06-07 11:33:44 +09:00
Stephen Seo 76567d168e Add more fns to TSQueue (still untested) 2019-06-06 17:06:44 +09:00
Stephen Seo 28d832a349 Invoke ALEFix 2019-06-06 16:42:07 +09:00
Stephen Seo 2aa4600c57 Create Thread-Safe-Queue (untested) 2019-06-06 16:40:17 +09:00
Stephen Seo 4b56bda4b1 Skeleton code set up for cpp impl 2019-06-06 16:02:48 +09:00
Stephen Seo dc5ba1bf14 Fix c_impl not installing to lib/ for Debug 2019-04-22 18:27:34 +09:00
Stephen Seo 5dd42a6e23 rust_binding now builds C lib Release/Debug 2019-04-22 18:18:03 +09:00