]> git.seodisparate.com - UDPConnection/log
UDPConnection
5 years agoUse macro to conditionally log
Stephen Seo [Fri, 20 Sep 2019 05:26:59 +0000 (14:26 +0900)]
Use macro to conditionally log

This should skip evaluating log parameters if the log level is not met.

5 years agoMany fixes, including sending packets with payload
Stephen Seo [Fri, 20 Sep 2019 05:01:26 +0000 (14:01 +0900)]
Many fixes, including sending packets with payload

Implemented UDPC_get_received
Added UDPC_get_list_connected and UDPC_free_list_connected.

5 years agoFix parsing of ipv6 link-local address
Stephen Seo [Thu, 19 Sep 2019 05:30:10 +0000 (14:30 +0900)]
Fix parsing of ipv6 link-local address

Add support for numeric id in suffix of ipv6 link-local address.

5 years agoFix Windows support
Stephen Seo [Thu, 19 Sep 2019 03:23:15 +0000 (12:23 +0900)]
Fix Windows support

5 years agoRename enum types to avoid name conflict
Stephen Seo [Thu, 19 Sep 2019 01:58:19 +0000 (10:58 +0900)]
Rename enum types to avoid name conflict

5 years agoAttempt to make code platform agnostic
Stephen Seo [Thu, 19 Sep 2019 01:35:22 +0000 (10:35 +0900)]
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.

5 years agoFix atostr
Stephen Seo [Wed, 18 Sep 2019 09:39:35 +0000 (18:39 +0900)]
Fix atostr

5 years agoAdd support for link-local ipv6 addr
Stephen Seo [Wed, 18 Sep 2019 08:35:14 +0000 (17:35 +0900)]
Add support for link-local ipv6 addr

5 years agoFix NetworkTest
Stephen Seo [Wed, 18 Sep 2019 04:56:04 +0000 (13:56 +0900)]
Fix NetworkTest

Allow setting listen addr to "any".

5 years agoFix setting trigger-send flag
Stephen Seo [Wed, 18 Sep 2019 02:42:16 +0000 (11:42 +0900)]
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.

5 years agoImpl NetworkTest, fixes and refactoring
Stephen Seo [Tue, 17 Sep 2019 11:33:47 +0000 (20:33 +0900)]
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.

5 years agoAdd support for UDPC_strtoa to accept ipv4 input
Stephen Seo [Tue, 17 Sep 2019 08:17:16 +0000 (17:17 +0900)]
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.

5 years agoUse mutex for thread safety
Stephen Seo [Mon, 16 Sep 2019 03:00:25 +0000 (12:00 +0900)]
Use mutex for thread safety

5 years agoAdd command parsing for NetworkTest
Stephen Seo [Mon, 16 Sep 2019 02:52:03 +0000 (11:52 +0900)]
Add command parsing for NetworkTest

5 years agoImpl threaded init/update
Stephen Seo [Mon, 16 Sep 2019 02:40:43 +0000 (11:40 +0900)]
Impl threaded init/update

5 years agoReplace ipv4 with ipv6
Stephen Seo [Sat, 7 Sep 2019 07:36:11 +0000 (16:36 +0900)]
Replace ipv4 with ipv6

ipv6 also supports sending to ipv4.

5 years agoMake atostr more thread safe
Stephen Seo [Tue, 3 Sep 2019 07:19:47 +0000 (16:19 +0900)]
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.

5 years agoPrevent exceptions being thrown in TSQueue
Stephen Seo [Tue, 3 Sep 2019 06:15:09 +0000 (15:15 +0900)]
Prevent exceptions being thrown in TSQueue

TSQueue's top() and top_and_pop() now return std::optional<T> instead of
just T.

5 years agoExpose ConnectionId to C interface, fixes
Stephen Seo [Tue, 3 Sep 2019 03:06:46 +0000 (12:06 +0900)]
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.

5 years agoAdd top_and_pop fn to TSQueue
Stephen Seo [Fri, 30 Aug 2019 06:55:43 +0000 (15:55 +0900)]
Add top_and_pop fn to TSQueue

5 years agoMinor fixes
Stephen Seo [Fri, 30 Aug 2019 05:57:24 +0000 (14:57 +0900)]
Minor fixes

5 years agoSimpifly opaque struct handle to context
Stephen Seo [Fri, 30 Aug 2019 03:11:07 +0000 (12:11 +0900)]
Simpifly opaque struct handle to context

5 years agoRemove already resolved TODO comment
Stephen Seo [Fri, 30 Aug 2019 03:04:39 +0000 (12:04 +0900)]
Remove already resolved TODO comment

5 years agoUse opaque struct as handle in C interface, fix
Stephen Seo [Fri, 30 Aug 2019 03:03:26 +0000 (12:03 +0900)]
Use opaque struct as handle in C interface, fix

Fixed log_impl_next.

5 years agoImpl logging, minor fixes/refactorings
Stephen Seo [Thu, 29 Aug 2019 03:56:09 +0000 (12:56 +0900)]
Impl logging, minor fixes/refactorings

5 years agoMinor formatting fix
Stephen Seo [Thu, 29 Aug 2019 02:20:36 +0000 (11:20 +0900)]
Minor formatting fix

5 years agoAdd client_initiate_connection fn, some fixes
Stephen Seo [Thu, 29 Aug 2019 02:07:24 +0000 (11:07 +0900)]
Add client_initiate_connection fn, some fixes

5 years agoImpl drop all connections with specific addr
Stephen Seo [Wed, 28 Aug 2019 07:38:14 +0000 (16:38 +0900)]
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.

5 years agoSome fixes
Stephen Seo [Wed, 28 Aug 2019 06:54:18 +0000 (15:54 +0900)]
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.

5 years agoAdd some Unit Tests for UDPC
Stephen Seo [Tue, 27 Aug 2019 09:03:30 +0000 (18:03 +0900)]
Add some Unit Tests for UDPC

5 years agoMinor fix
Stephen Seo [Tue, 27 Aug 2019 08:53:18 +0000 (17:53 +0900)]
Minor fix

5 years agoStore connections based on both addr and port
Stephen Seo [Tue, 27 Aug 2019 08:00:29 +0000 (17:00 +0900)]
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.

5 years agoReplace all uses of float with chrono::duration
Stephen Seo [Tue, 27 Aug 2019 07:31:24 +0000 (16:31 +0900)]
Replace all uses of float with chrono::duration

5 years agoFix warnings, some impl, still WIP
Stephen Seo [Tue, 27 Aug 2019 05:06:27 +0000 (14:06 +0900)]
Fix warnings, some impl, still WIP

5 years agoSet max size for received pkts queue
Stephen Seo [Tue, 27 Aug 2019 04:06:15 +0000 (13:06 +0900)]
Set max size for received pkts queue

5 years agoImpl storing received packet
Stephen Seo [Tue, 27 Aug 2019 04:03:38 +0000 (13:03 +0900)]
Impl storing received packet

5 years agoImpl check timed-out packets
Stephen Seo [Tue, 27 Aug 2019 03:42:43 +0000 (12:42 +0900)]
Impl check timed-out packets

Still WIP

5 years agoMore impl: rtt and timepoint per sent pkt
Stephen Seo [Thu, 22 Aug 2019 11:16:07 +0000 (20:16 +0900)]
More impl: rtt and timepoint per sent pkt

5 years agoMore impl, fix move for TSQueue
Stephen Seo [Thu, 22 Aug 2019 07:08:05 +0000 (16:08 +0900)]
More impl, fix move for TSQueue

5 years agoSome WIP impl of receiving packet handling
Stephen Seo [Sun, 18 Aug 2019 10:14:14 +0000 (19:14 +0900)]
Some WIP impl of receiving packet handling

5 years agoImpl sending queued packet
Stephen Seo [Sun, 18 Aug 2019 09:34:45 +0000 (18:34 +0900)]
Impl sending queued packet

TODO receiving packet

5 years agoReplace spinlock with mutex/lock_guard in TSQueue
Stephen Seo [Sun, 18 Aug 2019 09:10:11 +0000 (18:10 +0900)]
Replace spinlock with mutex/lock_guard in TSQueue

5 years agoSome more work on cpp_impl (still WIP)
Stephen Seo [Thu, 25 Jul 2019 11:51:08 +0000 (20:51 +0900)]
Some more work on cpp_impl (still WIP)

5 years agoSome work on update impl
Stephen Seo [Sun, 21 Jul 2019 05:29:31 +0000 (14:29 +0900)]
Some work on update impl

5 years agoMinor changes/fixes, clang-format fixes
Stephen Seo [Sun, 21 Jul 2019 04:45:42 +0000 (13:45 +0900)]
Minor changes/fixes, clang-format fixes

5 years agoMinor fix
Stephen Seo [Sun, 7 Jul 2019 05:48:58 +0000 (14:48 +0900)]
Minor fix

5 years agoAdd check for endianness, fix strtoa for ipv4
Stephen Seo [Sun, 7 Jul 2019 05:44:37 +0000 (14:44 +0900)]
Add check for endianness, fix strtoa for ipv4

5 years agoChange TSQueue to be a wrapper around a queue
Stephen Seo [Sun, 7 Jul 2019 05:13:16 +0000 (14:13 +0900)]
Change TSQueue to be a wrapper around a queue

5 years agoAdd more to unit test for TSQueue
Stephen Seo [Fri, 7 Jun 2019 03:17:35 +0000 (12:17 +0900)]
Add more to unit test for TSQueue

5 years agoAdd unit test and fixes for TSQueue
Stephen Seo [Fri, 7 Jun 2019 02:33:44 +0000 (11:33 +0900)]
Add unit test and fixes for TSQueue

5 years agoAdd more fns to TSQueue (still untested)
Stephen Seo [Thu, 6 Jun 2019 08:06:44 +0000 (17:06 +0900)]
Add more fns to TSQueue (still untested)

5 years agoInvoke ALEFix
Stephen Seo [Thu, 6 Jun 2019 07:42:07 +0000 (16:42 +0900)]
Invoke ALEFix

5 years agoCreate Thread-Safe-Queue (untested)
Stephen Seo [Thu, 6 Jun 2019 07:40:04 +0000 (16:40 +0900)]
Create Thread-Safe-Queue (untested)

5 years agoSkeleton code set up for cpp impl
Stephen Seo [Thu, 6 Jun 2019 07:02:48 +0000 (16:02 +0900)]
Skeleton code set up for cpp impl

6 years agoFix c_impl not installing to lib/ for Debug
Stephen Seo [Mon, 22 Apr 2019 09:27:34 +0000 (18:27 +0900)]
Fix c_impl not installing to lib/ for Debug

6 years agorust_binding now builds C lib Release/Debug
Stephen Seo [Mon, 22 Apr 2019 09:18:03 +0000 (18:18 +0900)]
rust_binding now builds C lib Release/Debug

6 years agoRemove unnecessary ArchLinux PKGBUILD
Stephen Seo [Mon, 22 Apr 2019 08:55:23 +0000 (17:55 +0900)]
Remove unnecessary ArchLinux PKGBUILD

6 years agoAllow rust_binding to build the C library
Stephen Seo [Mon, 22 Apr 2019 08:54:37 +0000 (17:54 +0900)]
Allow rust_binding to build the C library

6 years agoAdd new function to whitelist
Stephen Seo [Wed, 17 Apr 2019 06:21:03 +0000 (15:21 +0900)]
Add new function to whitelist

6 years agoMove gitignore for c_impl to correct place
Stephen Seo [Wed, 17 Apr 2019 06:16:23 +0000 (15:16 +0900)]
Move gitignore for c_impl to correct place

6 years agoAdd buildgen rust binding
Stephen Seo [Wed, 17 Apr 2019 05:19:28 +0000 (14:19 +0900)]
Add buildgen rust binding

6 years agoAdd function to drop connection to specific addr
Stephen Seo [Wed, 17 Apr 2019 06:15:19 +0000 (15:15 +0900)]
Add function to drop connection to specific addr

Also added minor note about ctx->idMap

6 years agoFix prepare_pkt function
Stephen Seo [Tue, 12 Mar 2019 05:28:28 +0000 (14:28 +0900)]
Fix prepare_pkt function

6 years agoFix server ignoring first packet from client
Stephen Seo [Tue, 12 Mar 2019 05:11:22 +0000 (14:11 +0900)]
Fix server ignoring first packet from client

6 years agoAdd HashMap keyed by id for quick id lookups
Stephen Seo [Tue, 12 Mar 2019 04:49:14 +0000 (13:49 +0900)]
Add HashMap keyed by id for quick id lookups

6 years agoFix UDPC destruct order when using thread
Stephen Seo [Thu, 7 Mar 2019 03:16:03 +0000 (12:16 +0900)]
Fix UDPC destruct order when using thread

6 years agoFix mutex lock not being unlocked
Stephen Seo [Thu, 7 Mar 2019 03:10:53 +0000 (12:10 +0900)]
Fix mutex lock not being unlocked

6 years agoChange isThreaded flag to be separate int
Stephen Seo [Thu, 7 Mar 2019 03:01:21 +0000 (12:01 +0900)]
Change isThreaded flag to be separate int

6 years agoAdd get/set protocol id capability
Stephen Seo [Thu, 7 Mar 2019 02:57:06 +0000 (11:57 +0900)]
Add get/set protocol id capability

6 years agoMinor doc fix
Stephen Seo [Wed, 6 Mar 2019 12:51:09 +0000 (21:51 +0900)]
Minor doc fix

6 years agoFix const error strings
Stephen Seo [Wed, 6 Mar 2019 12:50:13 +0000 (21:50 +0900)]
Fix const error strings

6 years agoAdd more documentation
Stephen Seo [Wed, 6 Mar 2019 11:34:24 +0000 (20:34 +0900)]
Add more documentation

6 years agoAdd more documentation
Stephen Seo [Wed, 6 Mar 2019 11:31:23 +0000 (20:31 +0900)]
Add more documentation

6 years agoAdd get/set accept-new-connections fn
Stephen Seo [Wed, 6 Mar 2019 11:13:38 +0000 (20:13 +0900)]
Add get/set accept-new-connections fn

Fix some functions not using mutex when threaded update is enabled.

6 years agoChange UDPConnection to set listen address
Stephen Seo [Wed, 6 Mar 2019 10:53:15 +0000 (19:53 +0900)]
Change UDPConnection to set listen address

Add some documentation, fix NetworkTest with new change.

6 years agoMinor fix to NetworkTest
Stephen Seo [Wed, 6 Mar 2019 04:49:56 +0000 (13:49 +0900)]
Minor fix to NetworkTest

6 years agoFix received callback, minor change to NetworkTest
Stephen Seo [Wed, 6 Mar 2019 04:23:22 +0000 (13:23 +0900)]
Fix received callback, minor change to NetworkTest

6 years agoFix threaded update
Stephen Seo [Tue, 5 Mar 2019 03:56:05 +0000 (12:56 +0900)]
Fix threaded update

6 years agoChange NetworkTest to exit after disconnect
Stephen Seo [Tue, 5 Mar 2019 03:11:57 +0000 (12:11 +0900)]
Change NetworkTest to exit after disconnect

6 years agoFix memory leaks
Stephen Seo [Tue, 5 Mar 2019 03:07:03 +0000 (12:07 +0900)]
Fix memory leaks

6 years agoMore fixes to UDPConnection
Stephen Seo [Mon, 4 Mar 2019 10:28:05 +0000 (19:28 +0900)]
More fixes to UDPConnection

6 years agoFix new connections not being created
Stephen Seo [Mon, 4 Mar 2019 10:17:55 +0000 (19:17 +0900)]
Fix new connections not being created

6 years agoFix endianness of addr, minor fixes
Stephen Seo [Mon, 4 Mar 2019 10:05:07 +0000 (19:05 +0900)]
Fix endianness of addr, minor fixes

6 years agoMore fixes
Stephen Seo [Mon, 4 Mar 2019 09:17:28 +0000 (18:17 +0900)]
More fixes

6 years agoFix NetworkTest
Stephen Seo [Mon, 4 Mar 2019 08:56:40 +0000 (17:56 +0900)]
Fix NetworkTest

6 years agoFixes to NetworkTest
Stephen Seo [Mon, 4 Mar 2019 08:48:32 +0000 (17:48 +0900)]
Fixes to NetworkTest

6 years agoAdd check for no pkt received (non-blocking)
Stephen Seo [Mon, 4 Mar 2019 06:27:01 +0000 (15:27 +0900)]
Add check for no pkt received (non-blocking)

6 years agoAdd NetworkTest executable
Stephen Seo [Mon, 4 Mar 2019 06:20:22 +0000 (15:20 +0900)]
Add NetworkTest executable

To be used to debug UDPConnection.

6 years agoAdd UDPC_strtoa
Stephen Seo [Mon, 4 Mar 2019 06:05:21 +0000 (15:05 +0900)]
Add UDPC_strtoa

6 years agoMore impl of UDPConnection
Stephen Seo [Mon, 4 Mar 2019 06:04:16 +0000 (15:04 +0900)]
More impl of UDPConnection

Add client initiate connection.

6 years agoUse locks on check_events for threaded case
Stephen Seo [Mon, 4 Mar 2019 02:40:34 +0000 (11:40 +0900)]
Use locks on check_events for threaded case

6 years agoAdd resendPktQueue to struct in UDPConnection
Stephen Seo [Mon, 4 Mar 2019 02:32:44 +0000 (11:32 +0900)]
Add resendPktQueue to struct in UDPConnection

Resending packets now put in higher priority queue in ConnectionData; if
queued both regular packet and resending packet, resending packets are
sent first.

6 years agoFixes/improvements to UDPConnection, still WIP
Stephen Seo [Thu, 21 Feb 2019 06:40:30 +0000 (15:40 +0900)]
Fixes/improvements to UDPConnection, still WIP

Need to implement threaded update properly.

6 years agoAdd push_..._realloc to Deque
Stephen Seo [Thu, 21 Feb 2019 03:34:35 +0000 (12:34 +0900)]
Add push_..._realloc to Deque

6 years agoImpl add to send-queue and recv callbacks, WIP
Stephen Seo [Wed, 20 Feb 2019 06:13:57 +0000 (15:13 +0900)]
Impl add to send-queue and recv callbacks, WIP

Still not finished, need to set up the thread to send queued packets and
receive packets safely.

Also need to add to Deque (see TODO comment).

6 years agoFix error log message
Stephen Seo [Tue, 19 Feb 2019 04:31:26 +0000 (13:31 +0900)]
Fix error log message

6 years agoFix handling of timed out packets
Stephen Seo [Tue, 19 Feb 2019 04:28:16 +0000 (13:28 +0900)]
Fix handling of timed out packets

6 years agoMore impl of UDPConnection
Stephen Seo [Mon, 18 Feb 2019 07:32:50 +0000 (16:32 +0900)]
More impl of UDPConnection

Still WIP but almost finished

6 years agoMerge branch 'hm_linkedlist'
Stephen Seo [Mon, 18 Feb 2019 03:32:57 +0000 (12:32 +0900)]
Merge branch 'hm_linkedlist'

HashMap updated to use linked lists instead of Deques to store entries.

6 years agoUpdate UDPConnection to use updated HashMap
Stephen Seo [Mon, 18 Feb 2019 03:31:42 +0000 (12:31 +0900)]
Update UDPConnection to use updated HashMap