Commit Graph

820 Commits

Author SHA1 Message Date
Robinson
305d410071
Added support for restarting the network driver for the endpoints 2022-08-02 13:10:06 +02:00
Robinson
8e6a4bcf3c
Added support to start/stop the aeron driver 2022-08-02 12:43:05 +02:00
Robinson
20226468c4
Changed Aeron connections from MDC -> "normal" (so the network connections are initialized more like a standard UDP connection would be, instead of the more complicated MDC method 2022-08-02 12:11:36 +02:00
Robinson
d5397dde7b
Fixed comments. lowered poll frequency - changed function name 2022-08-02 12:04:09 +02:00
Robinson
ecdb762274
Removed un-needed 'suspend' modifiers 2022-08-01 22:13:07 +02:00
Robinson
c42c160652
Reverted change to handshake kryo (fix for dynamic class registration) 2022-07-29 05:00:41 +02:00
Robinson
70ebcdfdcf
Updated version 2022-07-29 04:52:52 +02:00
Robinson
b942c691fc
Changed aeron connections from MDC (similar to udp multicast), to single and unique connections. Fixed issues with duplicate handshake messages. Fixed issues when trying to connect too quickly. Sped up handshake a LOT when multiple clients are connecting. Dynamic class registrations (server-side only) broken 2022-07-29 04:52:11 +02:00
Robinson
3ef3d28d24
Removed coroutines from parts of the networking message processing. 2022-07-27 00:20:34 +02:00
Robinson
5c59a142ff
Updated version 2022-07-17 23:59:35 -04:00
Robinson
72b95b5cbe
Connection retries are SLIGHTLY slower than the aeron driver timeout. 2022-07-17 23:12:06 -04:00
Robinson
9073769e15
Better Logging during the connection handshake 2022-07-17 23:08:01 -04:00
Robinson
14aa087eda
Network dispatcher is now it's own thread pool, separate from the standard kotlin coroutine dispatcher (this was to prevent thread starvation) 2022-07-17 23:05:32 -04:00
Robinson
6ebd4afa90
Code cleanup. Aeron counters can now return null 2022-07-17 23:04:41 -04:00
Robinson
fb0e973cbf
Cleaned up comments surrounding the Aeron conductor thread factories 2022-07-17 23:03:53 -04:00
Robinson
f24b73f497
Exposed streamId, added better logging 2022-07-17 23:03:19 -04:00
Robinson
a552eb5fa7
Handshake now uses coroutines. Exposed Aeron init(), so it can be called externally to connect()/bind() methods 2022-07-17 23:02:52 -04:00
Robinson
d22bcb29ca
Formatting 2022-07-17 23:01:54 -04:00
Robinson
00b426fa18
Changed default socket options to 2mb 2022-07-16 10:25:37 -04:00
Robinson
440512aedc
AeronDriver now uses suspend instead of blocking 2022-07-16 10:25:15 -04:00
Robinson
c30e2cde4c
Better support for how we free resources on connection close 2022-07-15 08:15:40 -04:00
Robinson
9eb0bbee5f
Added suspend to initEndPoint 2022-07-15 00:59:17 -04:00
Robinson
165cfb9d7e
Cleaned up logging 2022-07-15 00:57:48 -04:00
Robinson
995f0b1795
Added toString 2022-07-15 00:57:32 -04:00
Robinson
21a6eceebd
Pulled out the aeron context into its own class 2022-07-13 22:57:40 -04:00
Robinson
7e60f6b64b
Code formatting 2022-07-13 22:54:22 -04:00
Robinson
e1db5c42a5
Removed DYNAMIC aeron control mode 2022-07-13 22:53:43 -04:00
Robinson
c8d9573bb9
code format 2022-07-13 22:53:25 -04:00
Robinson
6a466ae88a
Fixed errors with allocator memory leaks, added validation when server closes 2022-07-13 22:53:09 -04:00
Robinson
1d35827d16
added support for allocator size checks 2022-07-13 22:49:25 -04:00
Robinson
5b8268b2ea
compiler warnings 2022-07-12 22:21:59 -04:00
Robinson
3a43dea3ad
Added driver backlock information, cleaned how pub/sub are added to areon 2022-07-12 11:02:11 -04:00
Robinson
3893a9be5a
Added starting the aeron driver if necessary when clients are reconnecting 2022-07-12 10:56:47 -04:00
Robinson
ceb5fe208a
Inverted close check 2022-07-03 13:13:38 +02:00
Robinson
aea56477fa
Updated version 2022-06-29 21:56:35 +02:00
Robinson
55e777860b
Fixed streamed data chunk mis-alignment. 2022-06-29 21:56:12 +02:00
Robinson
1a6ac7048b
Random stream ID is unique per JVM now 2022-06-29 20:08:35 +02:00
Robinson
fafcb30e1a
Updated version 2022-06-29 19:38:29 +02:00
Robinson
09f367963f
Fixed race condition when we reassemble streaming/chunked data. 2022-06-29 19:38:10 +02:00
Robinson
683abcbe59
Updated version 2022-06-29 17:30:28 +02:00
Robinson
58eb8c2300
suspending cache addition for RMI waiters 2022-06-29 16:57:31 +02:00
Robinson
61aa509a17
Stream and Session ID allocation cannot be re-used so quickly, as ALL other IDs must first be used, before a previously used ID is reused. 2022-06-29 16:37:47 +02:00
Robinson
c6c3c4cc2e
Updated version 2022-06-27 15:32:00 +02:00
Robinson
f228bd1de3
Changed how handshake connection errors are managed 2022-06-27 15:31:40 +02:00
Robinson
da4dc4d9c9
Better handshake control during generic exceptions 2022-06-27 01:45:10 +02:00
Robinson
16119bdf7d
updated version 2022-06-27 01:43:50 +02:00
Robinson
3e092ffd54
Formatting and logging cleanup 2022-06-27 01:43:29 +02:00
Robinson
4a0357d92b
Added internal closeBlocking 2022-06-27 00:10:48 +02:00
Robinson
d734c2555a
Formatting 2022-06-26 23:49:56 +02:00
Robinson
cccb3b65ae
Added this qualifier 2022-06-26 23:49:49 +02:00
Robinson
20c528b563
Updated library + version 2022-06-24 23:04:37 +02:00
Robinson
0550661067
Updated version 2022-06-24 14:42:24 +02:00
Robinson
cd65d16e14
Added support for a stacktrace that is empty 2022-06-24 13:13:28 +02:00
Robinson
0df4eb872d
Added support for getting specific aeron driver information 2022-06-24 13:12:18 +02:00
Robinson
3ede82e43f
UDP MediaDriver does not recreate driver connections during handshake. Re-organized how aeron driver connections are established 2022-06-24 13:11:39 +02:00
Robinson
cb1cd0cec9
Updated version 2022-06-16 18:05:15 +02:00
Robinson
20fcabaf8a
Fixed issue with RMI from a server -> client, where the RMI proxy objects were getting overridden by different connections because the RMI object cache was shared between all connections in the server. 2022-06-16 18:04:52 +02:00
Robinson
b8acc6b2c0
Now fixed streaming message data when finished 2022-06-16 00:49:13 +02:00
Robinson
f0f7a5eba1
Updated version 2022-06-15 23:53:45 +02:00
Robinson
52ee92c025
Replaced SuspendWaiter with mutex 2022-06-15 23:53:26 +02:00
Robinson
9c754c9525
Updated version 2022-06-14 22:23:01 +02:00
Robinson
f1ffbb48f0
Added more connection exceptions for edge cases when a connection attempt to the server can fail. 2022-06-14 22:22:38 +02:00
Robinson
81e3f204df
Updated version 2022-06-14 19:25:16 +02:00
Robinson
5dd9f50a0c
Fixed client connect issue when trying to shutdown 2022-06-14 19:24:48 +02:00
Robinson
0d01b8d303
Updated version and dependencies 2022-06-14 12:22:53 +02:00
Robinson
bf3d7b2be8
Updated version 2022-06-11 23:55:24 +02:00
Robinson
c62296edec
Added extra constructor signature for logger name 2022-06-11 23:53:39 +02:00
Robinson
b07bf150f9
Added extra stacktrace checks 2022-06-11 23:53:08 +02:00
Robinson
5b2b43b73e
removed ping timeout 2022-06-11 23:52:33 +02:00
Robinson
3dd333269e
Response waiter is now volatile, as it's data is used by DIFFERENT coroutines. 2022-06-11 22:36:23 +02:00
Robinson
542b678531
Removed unnecessary comments 2022-06-11 22:35:45 +02:00
Robinson
95a3b4eb69
Added class simpleName to log messages. Added more comments 2022-06-11 22:35:00 +02:00
Robinson
29dec146aa
Changed streaming payload size (we let aeron manage fragmentation as much as possible, as they do it more efficiently than we can 2022-06-11 22:34:16 +02:00
Robinson
7394b6abe2
Cleaned up toString 2022-06-11 22:32:46 +02:00
Robinson
96a9e2c9bb
Fixed comment typo 2022-06-11 17:29:33 +02:00
Robinson
b43b3840ab
update comment 2022-06-11 17:04:21 +02:00
Robinson
456faf0575
Updated version 2022-06-08 00:28:02 +02:00
Robinson
38ec9e882b
Removed experimental coroutine 2022-06-08 00:27:30 +02:00
Robinson
27e8520eb5
Removed unused parameters 2022-06-08 00:27:03 +02:00
Robinson
fd4eb256db
Updated DNS signature for client connections 2022-06-08 00:25:01 +02:00
Robinson
5445c52212
Updated version 2022-06-06 17:18:46 +02:00
Robinson
e302b1e429
Fixed edge condition when notifyDisconnect() would get called 2x on a server 2022-06-06 17:18:38 +02:00
Robinson
e0570527ae
More explicit connection specific listnerer manager for disconnect events 2022-06-06 11:57:20 +02:00
Robinson
ab791af801
Now uses DNS for name resolution if the client connection is not an IP address. 2022-06-04 01:32:58 +02:00
Robinson
e4976e3a5a
Added better log info when reconnecting to a server 2022-06-01 23:52:52 +02:00
Robinson
c79c0b49c8
Updated version 2022-05-30 02:55:36 +02:00
Robinson
e8f7c8d8d3
Cleaned up log messages, cleaned up handshakes, cleaned up polling code. Added unit test for concurrent client connections 2022-05-30 02:55:07 +02:00
Robinson
08ecaaf1c7
Code cleanup 2022-05-30 02:43:41 +02:00
Robinson
261d50af9e
Updated libraries, must support java11 now (because of crypto) 2022-05-30 02:12:54 +02:00
Robinson
9eb2fd7d7f
Added support for explicit loopback IP notation 2022-05-28 12:16:05 +02:00
Robinson
506c98df8d
Added support for custom logger names 2022-05-28 12:15:45 +02:00
Robinson
6f1fdfcff9
Updated version 2022-04-13 16:22:57 +02:00
Robinson
dc1ba169c9
Fixed wrong casting of object type 2022-04-13 16:22:39 +02:00
Robinson
6d2ca63bc0
Updated version 2022-04-04 23:24:42 +02:00
Robinson
217d1c3b19
cleaned up stacktraces 2022-04-04 23:05:50 +02:00
Robinson
82fb4c4151
Cleaned up exceptions 2022-04-04 23:05:08 +02:00
Robinson
41ea4872be
Fixed IPC connection issue 2022-04-04 23:04:27 +02:00
Robinson
ac4afd3d50
Fixed seconds -> MS for RMI ping 2022-04-04 19:39:05 +02:00
Robinson
113de5d12e
cleanStackTraceInternal now cleans the stack track from all coroutine info for all dorkbox.network stack traces. 2022-04-04 16:32:19 +02:00
Robinson
533aec6c2d
Better insight when specific client/server connection errors occur. 2022-04-04 16:30:05 +02:00