00c1be07dc
Replace c_impl, remove rust_binding, with cpp_impl
2019-11-11 13:08:36 +09:00
a11c99e115
Remove unused TSQueue and RingBuffer
2019-11-06 14:42:35 +09:00
7c889eee6a
Fixes and improvements (add use of TSLQueue)
...
Replace "unsigned long long" in TSLQueue with "unsigned long" to keep
compatibility with C.
Add top_and_pop_and_rsize() to TSLQueue.
Fix log levels in UDPC.
Replace TSQueue with TSLQueue in UDPC_Context.
Also fix NetworkTest with TSLQueue related changes.
2019-11-06 14:39:09 +09:00
742db465dd
Minor fix to size pointer in TSLQueue iterator
...
Prevent pointer change errors by making the pointer itself const.
2019-11-06 13:34:55 +09:00
a5873624aa
Fix size count in TSLQueue when using iterator
2019-11-06 13:32:39 +09:00
3f338be365
Add more tests to UnitTest for TSLQueue
2019-11-06 12:54:03 +09:00
3830be6e2d
Add iterator to TSLQueue
...
Removed shared_ptr "locks", replaced by iterator owning a lock_guard.
2019-11-03 18:46:25 +09:00
10899ffaab
Replace std::list with own doubly-linked-list
...
TODO iterator
2019-10-29 20:33:16 +09:00
3dc12683e8
Add remove() to TSLQueue's iterator wrapper
...
Minor additions to UnitTest.
2019-10-28 11:09:48 +09:00
78862dc29d
Add WIP UnitTests for TSLQueue
2019-10-24 20:25:41 +09:00
aa132fbf12
Add prefix inc/dec to TSLQIterWrapper
2019-10-24 17:58:13 +09:00
ebedd06fdb
Add missing impl fn to TSLQueue
2019-10-24 17:51:40 +09:00
04d8abab84
Add impl of TSLQueue (TODO UnitTests)
2019-10-24 17:49:28 +09:00
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