Commit Graph

1215 Commits

Author SHA1 Message Date
Robinson
71764755ac
Fixed issues with error reporting when the connection is created. 2023-05-28 16:24:16 +02:00
Robinson
8b7eadc01e
Cleaned up logging for the Event poller 2023-05-26 15:46:11 +02:00
Robinson
4c5cca9b84
cleaned logging 2023-05-26 15:43:18 +02:00
Robinson
5d2e6ac551
Cleaned up server handshakes 2023-05-26 15:41:21 +02:00
Robinson
784d0ecf02
Cleaned up random ID allocator 2023-05-26 15:34:26 +02:00
Robinson
6200c5e887
Changed close to suspending 2023-05-24 11:55:07 +02:00
Robinson
5cf41580fd
Cleaned up logging 2023-05-24 09:28:55 +02:00
Robinson
92d192bd1b
removed logger from EventPoller api 2023-05-24 09:21:39 +02:00
Robinson
f40d36c488
Fixed issues with unique aeron directory naming 2023-05-24 09:15:55 +02:00
Robinson
c2a5befb09
Added the ability to close the listenerManager 2023-05-24 00:15:04 +02:00
Robinson
2d87e003dc
Fixed issues surrounding the session/stream ID rewrite and connection handshake/state management 2023-05-08 09:58:24 +02:00
Robinson
95d7006c74
Cleaned up stack-trace cleanup method invocation 2023-04-29 00:46:16 +02:00
Robinson
e24dbcd0b1
cleaned IPC to mirror UDP connections 2023-04-21 23:56:13 +02:00
Robinson
17e711039e
EventDispatcher is static 2023-04-20 18:18:49 +02:00
Robinson
c2d1b85b87
Updated AeronDriver/Context API 2023-04-20 18:17:51 +02:00
Robinson
d2550a98e2
updated close signature 2023-04-20 17:58:15 +02:00
Robinson
e84be7f96a
Cleanup client reconnect logic 2023-04-20 17:57:14 +02:00
Robinson
b2f2077550
Fixed client connection logic (some logic is server always) 2023-04-20 17:55:58 +02:00
Robinson
da61b70321
EventDispatcher is static 2023-04-20 17:55:17 +02:00
Robinson
a403292ba8
Updated poller 2023-04-20 17:53:02 +02:00
Robinson
2ca87dfcb1
Event dispatcher events 2023-04-20 17:52:21 +02:00
Robinson
74dbdf02b5
Updated Configuration settings for unique directories 2023-04-20 17:51:07 +02:00
Robinson
ecdde53a3b
update AeronPoller close signature 2023-04-20 17:48:27 +02:00
Robinson
838b2d7ee3
Updated event polling for aeron network events 2023-04-20 17:47:45 +02:00
Robinson
8238dfffbd
updated collection library 2023-04-20 17:46:41 +02:00
Robinson
f7de6f4c9d
EventDispatcher is now static 2023-04-20 17:45:34 +02:00
Robinson
0dcd635f6d
connection filtering is only for the server now 2023-03-17 15:07:45 +01:00
Robinson
47c4ce1cd1
Added DisconnectMessage to serialization 2023-03-17 14:58:43 +01:00
Robinson
460840fad3
PING cancelRequest now uses send(), so that events are processed in order (instead of concurrently) 2023-03-17 14:58:04 +01:00
Robinson
eb0e59b7ba
runBlocking is now used for event registrations 2023-03-17 14:31:57 +01:00
Robinson
81e2965d10
optimized errorHandler 2023-03-17 14:06:32 +01:00
Robinson
7261a1dcfe
Cleaned up how the media driver connections work. They are also suspending instead of blocking 2023-03-17 14:05:50 +01:00
Robinson
0b7aa96ede
aeron dir is now auto-set to be absolute 2023-03-17 14:02:42 +01:00
Robinson
11d7645f7a
updated copyright 2023-03-17 13:58:52 +01:00
Robinson
a8f28d2814
kotlin map API + License header 2023-03-10 21:28:40 -06:00
Robinson
24f2246016
Errors will ALWAYS log, and will log only 1 time. 2023-03-05 17:20:38 +01:00
Robinson
1bdb5d546d
Reconnects during a disconnect are now re-dispatched appropriately 2023-03-02 19:46:08 +01:00
Robinson
559880b71c
Server disconnects do not call connection.connect (only clients can do this). Removed associated logic 2023-03-02 19:45:41 +01:00
Robinson
8f81243c25
MOved event dispatch to own class (as it is not user configurable) 2023-03-02 19:44:54 +01:00
Robinson
062b8a76ae
updated API 2023-03-02 19:44:06 +01:00
Robinson
96b5bcf905
moved runBlocking to invoking method 2023-03-02 19:43:24 +01:00
Robinson
9d04c3acb1
added new event dispatcher 2023-03-02 19:42:42 +01:00
Robinson
cbbef7f48a
Updated error handler usage, updated to use new event dispatch system, added more logging info 2023-03-02 19:42:22 +01:00
Robinson
408b41470e
updated API 2023-03-02 19:41:03 +01:00
Robinson
7ec23c59fa
Updated aeron event poller 2023-03-02 19:40:42 +01:00
Robinson
fc30c16758
Removed suspending methods (it was not necessary) 2023-03-02 19:38:21 +01:00
Robinson
2455f08b9a
updated API 2023-03-02 19:37:51 +01:00
Robinson
07219d058c
Moved network EventPoller to aeron package 2023-03-01 22:41:08 +01:00
Robinson
5833292975
Updated dispatch API 2023-03-01 22:40:12 +01:00
Robinson
66147174cc
Updated comments 2023-03-01 22:39:38 +01:00
Robinson
b29e6e583c
Fixed pingManager access 2023-03-01 22:39:29 +01:00
Robinson
8694f97217
Now using the NetworkEventPoller for polling ALL aeron subscriptions within the JVM 2023-03-01 22:39:03 +01:00
Robinson
ee3d0c7dda
Updated API 2023-03-01 22:36:41 +01:00
Robinson
3856483424
Added copyright 2023-03-01 22:36:27 +01:00
Robinson
6c846775eb
updated license 2023-03-01 20:34:01 +01:00
Robinson
9b1c594abb
Don't log (and trigger the "already shown tempFS tips) message if we are the NOP.LOGGER (which is when we check if we are running, it's the NOP logger.)" 2023-03-01 12:49:45 +01:00
Robinson
b4c7203c71
Close the network Event dispatcher when done 2023-03-01 12:49:10 +01:00
Robinson
e0e8d06eaf
Added notifyError(global) and added array.remove 2023-03-01 12:46:12 +01:00
Robinson
f1e6df094d
Added another type for equality/hash. Fixed issues with event/message dispatch 2023-03-01 00:24:44 +01:00
Robinson
8cdf5781e2
code warnings 2023-03-01 00:22:46 +01:00
Robinson
3f48fcc313
Added defaults + checks for ResponseManager 2023-03-01 00:21:12 +01:00
Robinson
a7a606f1be
API/Code cleanup 2023-02-27 11:31:34 +01:00
Robinson
340dc4a36c
Cleaned API and logging 2023-02-27 11:09:33 +01:00
Robinson
e38ff52c08
Updated pub/sub API 2023-02-26 18:18:19 +01:00
Robinson
912a2f4c2a
Updated settings store for new API 2023-02-26 18:17:30 +01:00
Robinson
c8af0ba33b
Moved add() to companion object 2023-02-25 13:23:29 +01:00
Robinson
b65005828c
Use the windows hi-rez timer 2023-02-25 10:21:47 +01:00
Robinson
9969dcd9b8
AeronContext now implements Closable 2023-02-24 20:28:32 +01:00
Robinson
17ed752ec1
added support for debugging connections 2023-02-24 16:33:39 +01:00
Robinson
7fd5f4e577
Cleaned up comments 2023-02-23 20:54:30 +01:00
Robinson
389be7b6db
added equals/hashCode 2023-02-23 12:37:00 +01:00
Robinson
0866f1b6b8
Code cleanup 2023-02-21 19:39:51 +01:00
Robinson
6c433a918f
RemoteObject casting can now be inferred 2023-02-21 19:36:57 +01:00
Robinson
63f60a5f96
When closing a connection, we use the writeMutex instead of 'messagesInProgress' 2023-02-21 19:36:25 +01:00
Robinson
bb820b03b4
Starting the aeron driver ALWAYS happens since the handshake loop, within the try/catch 2023-02-20 20:57:04 +01:00
Robinson
a1a869346e
Updated log messages 2023-02-20 19:27:53 +01:00
Robinson
80e2a57d74
Cleaned API usage 2023-02-20 19:26:55 +01:00
Robinson
0753a08b9a
Updated comments and error messages 2023-02-20 19:26:21 +01:00
Robinson
8ae3f15f8e
Added support for IPC/UDP term buffer length (with the default the same as it was previously) 2023-02-16 21:43:45 +01:00
Robinson
3772de7cca
Updated log messages to be consistent between server/client 2023-02-16 00:50:32 +01:00
Robinson
b806ff43db
Fixed class visibility 2023-02-15 23:29:02 +01:00
Robinson
024ff53e20
Cleaned up duplicate aeron pub/sub logs 2023-02-15 23:28:45 +01:00
Robinson
c57f0564db
Added method parameter names 2023-02-15 23:28:15 +01:00
Robinson
ba3ea72369
Cleaned up comments 2023-02-15 23:27:11 +01:00
Robinson
bdb1386504
Cleaned up duplicate aeron pub/sub logs 2023-02-15 23:26:53 +01:00
Robinson
230ad249bd
Added ip address to logs for connect/disconnect/timeout/etc 2023-02-15 15:47:02 +01:00
Robinson
3064545645
Send buffer is smaller (1mb) 2023-02-15 15:22:49 +01:00
Robinson
76a96a89ef
Cleaned up stopping/starting the aeron driver 2023-02-15 01:15:51 +01:00
Robinson
73efd8d370
easier code to read 2023-02-15 01:15:05 +01:00
Robinson
9f42800d6a
updated version 2023-02-14 23:47:04 +01:00
Robinson
c289f02cb9
code/comment cleanup 2023-02-10 21:21:09 +01:00
Robinson
ee25f0d2ce
removed dead code 2023-02-10 21:20:34 +01:00
Robinson
1d30329383
Cleaned stacktraces in the client handshake 2023-02-10 21:20:27 +01:00
Robinson
1f562b880c
Cleaned up allocator constructor 2023-02-10 21:20:13 +01:00
Robinson
47d8956635
Make sure that registrations are rechecked for RMI implementations. 2023-02-09 00:44:57 +01:00
Robinson
488eda3fcc
Refactor serialization initialization and kryo usage.
StreamingManager has better security wrt session IDs
2023-02-08 22:56:23 +01:00
Robinson
47afe38dd2
transitive for kotlin logging util 2023-02-07 22:23:11 +01:00
Robinson
f6105a3b11
Updated version 2023-01-05 23:10:31 +01:00
Robinson
95b724c509
Shutdown the client Aeron instance (if it's the only one), if there is any kind of exception thrown during the connection process (not only on retry events) 2023-01-04 23:30:25 +01:00
Robinson
24a0a0d427
updated version 2022-12-17 23:49:36 +01:00
Robinson
e74f4a4e10
Pub/Sub are now closed when exceptions are thrown 2022-12-17 23:21:44 +01:00
Robinson
d408493907
v6.1 2022-12-17 22:24:33 +01:00
Robinson
88121bf0cc
WIP JPMS 2022-12-17 22:24:07 +01:00
Robinson
a311a47eaf
Added sync/async unit block for thread/concurrent safe sync/async calls 2022-12-16 00:01:11 +01:00
Robinson
48d4ba9b00
Moved idle strategy reset 2022-12-15 23:58:27 +01:00
Robinson
ad4073c632
close the sub/pub for a client when it fails to connect (prevent disk space leak) 2022-12-15 23:57:33 +01:00
Robinson
9689b3a1a7
renamed field 2022-12-15 23:55:40 +01:00
Robinson
6ea4c6477f
Suppress casting when returning kryo 2022-11-16 01:12:17 +01:00
Robinson
b94c55cd4f
Fixed compiler warnings 2022-11-15 00:18:18 +01:00
Robinson
7145c23692
Fixed kotlin smart cast 2022-11-12 00:38:23 +01:00
Robinson
c9eca33e89
Updated major version 2022-11-12 00:38:03 +01:00
Robinson
4454d2904e
EndPoint interaction on the network can be overridden for a 100% custom wire protocol 2022-10-02 15:03:28 +02:00
Robinson
700e3ecd7e
Cleaned up formatting/logic of common addresses. Fixed wildcard usage within pollers 2022-08-20 12:15:01 +02:00
Robinson
f7c6c88098
More thorough checking for ipv4 remotes when building connections 2022-08-20 11:11:06 +02:00
Robinson
77701e12c4
More specific variable name for ipv4 check 2022-08-20 11:10:19 +02:00
Robinson
5472a07079
Sending chunked data now creates fewer objects while sending. Updated unit test to use proper API 2022-08-19 23:39:54 +02:00
Robinson
48bedc04ca
Cleaned up isWildcard/isLocalhost. removed duplicate code 2022-08-19 23:33:02 +02:00
Robinson
f8e2a16a10
Updated version 2022-08-19 00:50:58 +02:00
Robinson
ba423e424f
imports 2022-08-19 00:50:26 +02:00
Robinson
4af38ef212
Back to suspending 2022-08-18 22:01:42 +02:00
Robinson
ae7c043240
Cleaned up logs 2022-08-18 22:00:54 +02:00
Robinson
7e7ccb41da
Fixed log info during memory leak check 2022-08-18 20:44:15 +02:00
Robinson
f384638b44
Cleaned up inet address formats 2022-08-18 12:38:44 +02:00
Robinson
9af89ebd0c
Updated comments 2022-08-18 12:38:24 +02:00
Robinson
fa95ddf56c
Added extra logs when DEBUG_CONNECTIONS is enabled 2022-08-18 10:18:48 +02:00
Robinson
bb499d1c0c
Cleaned up common code and log output 2022-08-18 09:43:38 +02:00
Robinson
2ef56be699
Cleaned up close methods 2022-08-10 14:45:16 +02:00
Robinson
a34308ea07
Added driver support for errors and loss statistics 2022-08-10 14:34:54 +02:00
Robinson
4f63dbc25c
Fixed typo in variable name 2022-08-10 14:34:36 +02:00
Robinson
5a047e2367
Added support for debugging connections 2022-08-10 14:34:09 +02:00
Robinson
f429ca1414
Updated version 2022-08-04 03:39:48 +02:00
Robinson
dad5cd90b0
Network now uses MDC + unique session id's to initiate/create connections. Prevents issues surrounding handshake conflicts. Now uses exclusive publications, also synchronizes on connection when sending data. Fixed issues when binding to IPv6 Wildcard IPs. RMI events will (attempt) to suppress errors when the connection is closed when the RMI waiter times out. 2022-08-04 03:39:14 +02:00
Robinson
8deee6c0a7
Make sure that the global disconnect handler is also called 2022-08-04 00:34:48 +02:00
Robinson
401f29a9a2
Updated version 2022-08-03 01:52:50 +02:00
Robinson
6d519227df
Fixed issues getting the subscription bind address. 2022-08-03 01:52:30 +02:00
Robinson
77957a8943
Updated version 2022-08-03 00:21:30 +02:00
Robinson
d70a7b1847
Fixed aeron directory typo 2022-08-03 00:21:15 +02:00
Robinson
1ad1110bc6
Updated version 2022-08-03 00:08:35 +02:00
Robinson
2e7c79c1c0
Fixed logging for aeron exceptions 2022-08-03 00:08:13 +02:00
Robinson
31cf33cfab
Updated version 2022-08-02 22:44:17 +02:00
Robinson
bfbd33db00
Cleaned up disconnect notification logic 2022-08-02 22:43:44 +02:00
Robinson
325b463c01
Cleaned up connection close events 2022-08-02 21:15:45 +02:00
Robinson
8bcbce019e
Cleaned up unused close features. 2022-08-02 21:14:54 +02:00
Robinson
736dafafa2
Added ability for the framework to optionally send a close() event to the remote end. This is not guaranteed to run, but is a hint to the remote endpoint what is going on, and to improve disconnect performance. 2022-08-02 21:13:39 +02:00
Robinson
eea68c059a
Moved closeForRestart() to public scope 2022-08-02 13:24:23 +02:00
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
Robinson
a0664f05b1
comment cleanup 2022-04-04 16:29:16 +02:00
Robinson
4e248a969f
Fixed naming consistancy with regards to MS and NANOS 2022-04-04 16:28:53 +02:00
Robinson
22e7acab46
Added a streaming protocol (currently in-memory only) for sending data that large, or generally exceeds aeron's max transmit payload size 2022-04-04 14:48:38 +02:00
Robinson
c2ea674989
Kotlin accessor 2022-04-04 14:34:30 +02:00
Robinson
0195ef3dc8
Exposed read/write buffers for kryo. Reading objects can return null 2022-04-04 14:33:48 +02:00
Robinson
a3bacf7b89
Kotlin replacement for math util 2022-04-04 14:33:12 +02:00
Robinson
4967faf212
Connection timeouts should use currentTimeMillis (not nanoTime!) 2022-04-02 13:24:26 +02:00
Robinson
b0dd85a8f9
Updated version 2022-03-29 00:40:18 +02:00
Robinson
dc28c3f9e8
Updated comments, guarantee that a return value is returned via send. Moved common method to object 2022-03-27 21:14:55 +02:00
Robinson
b0a29d6837
Code cleanup 2022-03-24 01:27:01 +01:00
Robinson
b597bcd497
Timeout is now in nanos, client connections time out differently now. 2022-03-24 01:26:44 +01:00
Robinson
5c854c4fab
Prevent multiple instances within the same JVM from trying to start aeron at the same time 2022-03-23 18:31:38 +01:00
Robinson
3cac148db6
Fixed sendBufferSize defaults. Explicitly not setting defaults if the context has been defined. 2022-03-21 13:41:46 +01:00
Robinson
a8dd406b40
Added ability to customize the dispatch for network events 2022-03-18 16:34:38 +01:00
Robinson
c836848f91
Comment cleanup 2022-03-15 20:45:00 +01:00
Robinson
4cd0a439a6
Fixed issues when sending serialized primatives for class registration 2022-03-15 15:11:53 +01:00
Robinson
5c6c52e8b9
more comments 2022-03-15 14:34:14 +01:00
Robinson
29d63a4268
Fixed server.onDisconnect() listener notification. 2022-03-15 14:33:58 +01:00
Robinson
04fa453ff3
Merge remote-tracking branch 'origin/master' 2022-03-15 12:53:53 +01:00
Robinson
9f350fa767
Added Aeron subscriberErrorHandler 2022-03-15 12:43:40 +01:00
Robinson
f741c8823c
Fixed IPC client handshake timeout 2022-03-15 11:44:39 +01:00
Robinson
871827d800
Fixed log typo 2022-03-15 10:32:06 +01:00
Robinson
67bf5e2b21
Fixed client handshake timeout 2022-03-15 10:27:21 +01:00
Robinson
1bdfe5edf3
Don't show macos performance hints more than once 2022-03-08 23:35:19 +01:00
Robinson
53a3ba0309
Use OS.TEMP_DIR instead of manually requesting it 2022-03-08 23:25:55 +01:00
Robinson
06be3bee28
Connection timeouts are now in seconds, instead of milliseconds 2022-03-08 08:41:06 +01:00
Robinson
2a14d09a2c
Updated to support the split of Utilities + OS project. 2022-03-05 22:50:17 +01:00
Robinson
975cd4fb01
updated version 2022-03-04 23:49:49 +01:00
Robinson
d8aab11fdb
Updated dependencies + version 2022-03-03 01:25:32 +01:00
Robinson
98f8ad794e
update dependencies 2022-03-03 01:23:07 +01:00
Robinson
7aaf06c7a5
Exception now properly thrown when a message cannot be sent. 2022-03-02 23:54:32 +01:00
Robinson
f68418c27c
Updated dependencies. 2021-10-01 11:34:45 +02:00
Robinson
1ea24f026a increment version 2021-08-23 01:08:30 -06:00
Robinson
c8f4ba2b01 Now using the storage project 2021-08-23 00:52:16 -06:00
Robinson
40fb0d8caf use ByteArray extension for hex instead 2021-08-23 00:48:39 -06:00
Robinson
a75ece2a39 Now use the storage project 2021-08-23 00:42:02 -06:00
Robinson
87338c6f24 Fixed typos 2021-08-23 00:39:13 -06:00
Robinson
d8107860e5 Fixed GCM, now use threadlocal for hashing 2021-08-23 00:38:55 -06:00
Robinson
e8a1a20a16 code cleanup 2021-08-20 08:50:51 -06:00
Robinson
07daeafa05 updated version, updated build dependencies 2021-08-19 00:15:32 -06:00
Robinson
7f16ebcac0 WIP storage sub-system 2021-08-19 00:13:47 -06:00
Robinson
6945a5cdbb Fixed issue when starting up after a forcefully terminated (previous) run. If the aeron CnC file is corrupted, delete and try again. 2021-08-18 13:37:23 -06:00
Robinson
5847ad14e3 Updated version 2021-07-26 20:42:55 +02:00
Robinson
6a7fe7b1dc Added support for filtering aeron driver exceptions, onError listeners are now notified if there is an aeron driver error. 2021-07-26 20:40:43 +02:00
Robinson
a4a3057f39 Added comments. Fixed onErrorGlobal (it is now a separate name, since the function signatures had issues), made it a unit function instead of method, so it can be passed around 2021-07-26 20:18:04 +02:00
Robinson
7908ef2593 Fixed comments, tweaked shutdown delay 2021-07-26 20:17:03 +02:00
Robinson
388e4bda60 connections are now created via a unit function instead of overriding the method. 2021-07-09 15:16:12 +02:00
Robinson
c725806727 Cleaned up heap vs stack access, fixed ping support, fixed coroutine errors during serialization 2021-07-08 14:33:24 +02:00
Robinson
632603c8c7 WIP RMI and message performance/ping testing 2021-07-07 21:32:36 +02:00
Robinson
33f3ca8ebc Supports the newest version of Aeron. Updated error log usage and notifications. Refactored RMI API (now RMI is accessible via '.rmi' calls). Updated unit tests. Added 'delete' to rmi methods (opposite of 'create'). 2021-07-07 00:04:47 +02:00
Robinson
b8caa3b7c9 WIP JPMS 2021-07-02 11:41:05 +02:00
Robinson
ad9729b0ff Added comments 2021-07-01 20:15:07 +02:00
Robinson
9d507f1937 Added more comments 2021-07-01 20:13:54 +02:00
Robinson
649148dc08 better error message 2021-07-01 09:30:09 +02:00
Robinson
e62f8eba2e Changed line endings to LF from CRLF 2021-06-28 15:27:35 +02:00
Robinson
b5f7c109b2 Fixed deprecated channel offer method 2021-06-27 20:51:58 +02:00
Robinson
ab2af26b48 Fixed JPMS object casting 2021-05-02 21:56:10 +02:00
Robinson
7c5a935105 Added server global RMI delete() 2021-05-01 00:19:21 +02:00
Robinson
5196fa2d66 updated version 2021-04-30 22:42:37 +02:00
Robinson
ef4b76d303 Changed scope for onMessage/disconnect/connect/etc callbacks from 'connection' -> 'this'. 2021-04-30 22:39:36 +02:00
Robinson
048b780e2f Added tests for restarting a client via client.close(). connection.close() with a onDisconnect listener also works. The instance that started the aeron instance, is the one that cleans it up 2021-04-30 21:18:57 +02:00
Robinson
ae53cc333e Moved class registration info to trace 2021-04-30 19:52:57 +02:00
Robinson
bfccc6f7a5 WIP removeObject 2021-04-30 18:22:25 +02:00
Robinson
beb99d42da Removed 'config.enableIpcForLoopback'. it's behavior was rolled into 'enableIpc' 2021-04-30 18:22:08 +02:00
Robinson
3a4f4ff4b3 removed unnecessary code 2021-04-30 18:21:26 +02:00
Robinson
4507cf9f87 Removed RemoteObject.close() 2021-04-30 18:21:01 +02:00
Robinson
0b95a4503d more info in comments 2021-04-30 18:19:46 +02:00
Robinson
dfaf583f4f Added extension function for "eventLoop" dispatch to coroutines 2021-04-30 18:15:54 +02:00
Robinson
cffca943f5 No longer using coroutines for adding publication/subscription and closing certain calsses. Better aeron error handling/reporting. Better aeron startup/shutdown. The pending connections cache no longer is ThreadSafe, and no longer is protected via RW lock. 2021-04-30 18:14:33 +02:00
Robinson
3f016672e6 WIP ping mangement 2021-04-30 14:58:49 +02:00
Robinson
a3c0d9881a Fixed unnecessary errors when calling "connection.close()" from inside an RMI method. 2021-04-30 14:26:04 +02:00
Robinson
e7d13520df Updated kryo comments 2021-04-29 19:45:56 +02:00
Robinson
ad06f768f8 Fixed state with driver already running during shutdown 2021-04-29 13:34:45 +02:00
Robinson
402c5a0ccd Fixed missing Inet4.toAddress conversion 2021-04-29 11:19:31 +02:00
Robinson
a3b5cbcc89 WIP ping functionality 2021-04-29 10:25:25 +02:00
Robinson
7a6926df93 Changed handshake write to be THREAD strategy instead of COROUTINE strategy 2021-04-29 10:04:53 +02:00
Robinson
47b63173ac Added cloneToNormal, which converts the coroutine strategy -> thread strategy 2021-04-29 10:04:02 +02:00
Robinson
1e077c2d98 Added ability to add to an endpoint configuration 2021-04-29 10:02:22 +02:00
Robinson
2828758fee Updated how to access storage (via a property now) 2021-04-29 10:01:07 +02:00
Robinson
f5ab178948 Suppressed errors when starting/stopping an endpoint VERY quickly (as usually done in unit tests). These warnings, while noramlly VERY important, can be safely ignored. 2021-04-29 09:59:42 +02:00
Robinson
841b9959ac Fixed issues when reconnecting. 'onDisconnect' is now guaranteed to be called before 'onConnect' 2021-04-29 02:10:34 +02:00
Robinson
6d70313687 aeron driver is now properly start during reconnect event 2021-04-29 01:48:29 +02:00
Robinson
52d5f4b189 proper inet address resolution 2021-04-29 01:48:04 +02:00
Robinson
8068b1a5df Added version info 2021-04-29 01:47:53 +02:00
Robinson
37fbfe6ac1 cleaned up stacktrace, code polish 2021-04-29 01:47:25 +02:00
Robinson
9c7fa4de8d MediaDriver + aeron states are now reset on close 2021-04-29 01:46:18 +02:00
Robinson
36318690a2 Cleaned up RMI response manager object construction 2021-04-28 11:19:55 +02:00
Robinson
e747b52373 WIP ping infrastructure 2021-04-28 11:19:13 +02:00
Robinson
32cd2822ee Changed session ID -> ID for RandomIdAllocator.kt 2021-04-28 11:18:34 +02:00
Robinson
31f559accc updated version 2021-04-27 14:20:51 +02:00
Robinson
ad1c2450b9 Fixed deprecated methods 2021-04-27 14:19:56 +02:00
Robinson
8d47b8b0b8 Fixed missing parameter 2021-04-27 14:17:19 +02:00
Robinson
c706969005 Fixed package name 2021-04-27 14:00:31 +02:00
Robinson
f53e705432 Fixed "fast" reconnect issues, where sometimes the media driver would be disconnected from the aeron driver 2021-04-27 13:57:47 +02:00
Robinson
9e0bc0da3e Fixed stackframe index 2021-04-27 13:31:54 +02:00
Robinson
ed76209925 Changed RMI object callback to only be "this", instead of passing the (internal) rmiID around. The RMI-ID is used for internal rmi messages, so that a request+response can be paired. 2021-04-27 13:31:18 +02:00
Robinson
09087b470a Stack frame cleanup removes ALL coroutines 2021-04-27 10:55:29 +02:00
Robinson
bb245e2f8e Code cleanup 2021-04-27 10:28:36 +02:00
Robinson
29b0ee8199 Fixed connection filter on connect 2021-04-27 10:28:18 +02:00
Robinson
ef598b0b72 WIP connection setup 2021-04-27 10:27:03 +02:00
Robinson
1765b4e367 Fixed server-client pair connection address info 2021-04-27 10:26:37 +02:00
Robinson
7d39f70450 Removed filter notify for IPC connections 2021-04-27 10:26:04 +02:00
Robinson
ea857da883 Better stack frame cleanup 2021-04-27 10:25:19 +02:00
Robinson
f3637219c3 Code polish/cleanup 2021-04-25 22:01:50 +02:00
Robinson
bcbdaf167f code/library cleanup 2021-04-24 00:09:11 +02:00