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 |
|
Robinson
|
dccc46d16b
|
Updated to kotlin
|
2021-04-24 00:07:49 +02:00 |
|
Robinson
|
a229b85ee7
|
Rename .java to .kt
|
2021-04-24 00:07:48 +02:00 |
|
Robinson
|
5a7b6a159a
|
Proper null checking
|
2021-04-24 00:07:26 +02:00 |
|
Robinson
|
3a9d63858f
|
Converted to kotlin
|
2021-04-24 00:06:43 +02:00 |
|
Robinson
|
6f3615d211
|
Rename .java to .kt
|
2021-04-24 00:06:42 +02:00 |
|
Robinson
|
f60ec9d10f
|
updated libraries, added updates
|
2021-04-09 20:24:45 +02:00 |
|
Robinson
|
bb77a17158
|
Removed unchecked cast suppression
|
2021-04-02 15:15:01 +02:00 |
|
Robinson
|
ec5dd55fee
|
Moved unused code
|
2021-01-15 14:11:33 +01:00 |
|
Robinson
|
7ecb920ed0
|
Added type definitions and github links
|
2021-01-15 02:29:04 +01:00 |
|
Robinson
|
bda3082d41
|
Set field access scope to private
|
2021-01-15 02:21:21 +01:00 |
|
Robinson
|
47e202901a
|
remove duplicated key strings, now uses common fields
|
2021-01-15 02:19:09 +01:00 |
|
nathan
|
96b4a78104
|
Updated to use the object pool. Release 5.0!
|
2020-10-06 02:08:12 +02:00 |
|
nathan
|
df1eab1509
|
Removed stack trace from internal logging on client handshake errors (they mean nothing, other than it's an exception and the message)
|
2020-09-29 21:43:39 +02:00 |
|
nathan
|
62dff03df9
|
Fixed issue with multi-client handshakes. Made error messages cleaner
|
2020-09-29 16:05:17 +02:00 |
|
nathan
|
f4401d425c
|
Formatting
|
2020-09-29 15:26:40 +02:00 |
|
nathan
|
61260b02ce
|
Updated comments
|
2020-09-29 14:38:06 +02:00 |
|
nathan
|
e5c35ea24e
|
Async allocation and branch cleanup
|
2020-09-29 14:36:18 +02:00 |
|
nathan
|
cc9742fe14
|
Handshake validate is only done based on the one-time key (instead off session id) as the session ID was shared in some situations (the aeron session ID is not guarateed to be unique, unless it is manually set)
|
2020-09-28 16:30:38 +02:00 |
|
nathan
|
4dc58f2485
|
exposed secureRandom
|
2020-09-28 16:12:50 +02:00 |
|
nathan
|
1040cf14f5
|
Crypto code polish. wrapped crypto stuff in try/catch
|
2020-09-25 19:54:49 +02:00 |
|
nathan
|
2b2e185c4a
|
Added settings store for server (in addition to the existing client one)
|
2020-09-25 19:54:27 +02:00 |
|
nathan
|
4fb5ec8517
|
Code polish. Added extra failure if registration data or public key data is null
|
2020-09-25 19:52:46 +02:00 |
|
nathan
|
21a84bb9d2
|
Fixed issue with getting private key (was getting public key instead)
|
2020-09-25 19:33:15 +02:00 |
|
nathan
|
dfec897f83
|
connectionTimeoutMS == 0, now (correctly) means wait forever
|
2020-09-25 18:32:18 +02:00 |
|
nathan
|
80c4ed6fcc
|
Endpoint custom settingsStore can now be created (instead of just specifying a type)
|
2020-09-25 14:51:16 +02:00 |
|
nathan
|
816191a5b3
|
Marked methods final that should not be allowed to be overridden
|
2020-09-25 14:49:17 +02:00 |
|
nathan
|
1688a11000
|
Property Store only saves values if they have changed
|
2020-09-24 10:30:52 +02:00 |
|
nathan
|
09eb16f7b5
|
Added better connection check intervals and connection expiration timeouts
|
2020-09-23 22:32:29 +02:00 |
|
nathan
|
c869306ebe
|
Added more log information when stopping the AeronMediaDriver. Code polish
|
2020-09-23 17:09:34 +02:00 |
|
nathan
|
93e406289c
|
Fixed issues with connection handshake with the same computer, on multiple clients.
|
2020-09-23 17:08:25 +02:00 |
|
nathan
|
8605040819
|
Safer closing of the aeron client during close process
|
2020-09-23 16:59:58 +02:00 |
|
nathan
|
0b12f36507
|
improved close() messages/meanings in log
|
2020-09-23 15:52:45 +02:00 |
|
nathan
|
a4ccbd4b6a
|
Cleaned up comments. Cleaned up forEachConnection() (it's only on server now)
|
2020-09-22 21:06:31 +02:00 |
|
nathan
|
0a3a08fb8f
|
code polish
|
2020-09-22 21:05:50 +02:00 |
|
nathan
|
d7eef22091
|
Added sub/pub retries for both UDP and IPC
|
2020-09-22 21:01:06 +02:00 |
|
nathan
|
a82c5724f5
|
Added IPC addPub/Sub retries when aeron is restarted to quickly
|
2020-09-22 19:42:46 +02:00 |
|
nathan
|
af7e35fcf9
|
Changed client.send() to return true/false if the message was sent, added client.sendWithException() to throw an exception if the message was unable to be sent
|
2020-09-22 19:42:04 +02:00 |
|
nathan
|
c6e12e7872
|
Fixed IPC auto-fallback connection issues
|
2020-09-22 19:41:19 +02:00 |
|
nathan
|
56fc7e54f1
|
Fixed IPv6 connection issue
|
2020-09-22 19:40:56 +02:00 |
|
nathan
|
e035d86ee0
|
Added forEachConnection() method to run a function callback against each connection
|
2020-09-22 19:39:24 +02:00 |
|
nathan
|
ed60b68e77
|
Updated aeron (and other libraries) to fix IPv6 bug (removed class override)
|
2020-09-22 17:24:35 +02:00 |
|
nathan
|
64a36cb4f8
|
code polish to more straightforward logic
|
2020-09-22 17:05:49 +02:00 |
|
nathan
|
7d67cc86b7
|
Renaming RmiResponseManager for a more general use case (ResponseManager)
|
2020-09-22 17:05:25 +02:00 |
|
nathan
|
8f39813ccf
|
Renamed RmiWaiter -> ResponseWaiter
|
2020-09-21 01:42:31 +02:00 |
|
nathan
|
04ca513cc3
|
suppressed experimental warnings
|
2020-09-19 22:07:38 +02:00 |
|
nathan
|
7ae3762603
|
Code polish
|
2020-09-19 22:07:09 +02:00 |
|
nathan
|
5017437a7a
|
Updated networkutils, code polish
|
2020-09-19 22:06:54 +02:00 |
|
nathan
|
2429810fd7
|
Correct usage of no host name
|
2020-09-19 22:06:30 +02:00 |
|
nathan
|
dc30c18e97
|
Changed how internal storage operates (major performance improvement), added more types of storage. Set the default to PropertyStore (so settings are saved in a property file)
|
2020-09-19 19:41:39 +02:00 |
|
nathan
|
50783a7ae9
|
reworked how stopDriver operates
|
2020-09-19 19:38:55 +02:00 |
|
nathan
|
1703bc5449
|
Crypto now works with the raw public/private key byte arrays (instead of encoded bytearrays)
|
2020-09-19 01:32:32 +02:00 |
|
nathan
|
32d3023814
|
Serialization can now be extended
|
2020-09-18 01:12:53 +02:00 |
|
nathan
|
6548ad86e7
|
Added read(buffer: DirectBuffer), now returns writerBuffer on write
|
2020-09-18 01:12:25 +02:00 |
|
nathan
|
a8a6a517f7
|
Added setBuffer(DirectBuffer) method
|
2020-09-18 01:10:57 +02:00 |
|
nathan
|
bb2a7d8c41
|
Fixed error typo
|
2020-09-18 01:09:56 +02:00 |
|
nathan
|
bf457b6d69
|
Better error when client subscrition cannot connect. Added comments about publications
|
2020-09-18 01:09:18 +02:00 |
|
nathan
|
b9c0e6b29f
|
Handshake should be using the endpoint store, not the config store
|
2020-09-16 15:52:25 +02:00 |
|
nathan
|
f9623a616c
|
No longer require KryoExtra to register (normal Kryo is enough)
|
2020-09-16 14:28:49 +02:00 |
|
nathan
|
b08b7a13cd
|
Simplified SettingsStore, it now uses it's own serializer
|
2020-09-15 21:17:47 +02:00 |
|
nathan
|
e08d5a3d2b
|
No longer have a dependency on Storage serialization manager
|
2020-09-15 21:17:18 +02:00 |
|
nathan
|
8af039265b
|
Fixed comment typo
|
2020-09-15 18:55:28 +02:00 |
|
nathan
|
f4e451d917
|
Cleaned up how we interact with the storage system. Simplified storage configuration/init
|
2020-09-15 17:08:21 +02:00 |
|
nathan
|
b18fccc867
|
If registration was previously ignored, then ignore it on subsequent initialization
|
2020-09-15 16:53:34 +02:00 |
|
nathan
|
3c4cfe805f
|
Added support for starting/stopping the aeron media driver OUTSIDE of the network library. Better startup and cleanup of aeron connections to the media driver. Added an error handler that doesn't exit the JVM on error
|
2020-09-15 12:01:05 +02:00 |
|
nathan
|
fb3d2f3f98
|
Cleaned up logs
|
2020-09-14 22:12:54 +02:00 |
|
nathan
|
0c7202d00c
|
Changed connection timeout from millis -> nanos
|
2020-09-14 20:41:01 +02:00 |
|
nathan
|
7f823bc2e7
|
Code polish
|
2020-09-14 20:35:17 +02:00 |
|
nathan
|
610f22fdec
|
Connection management uses concurrent iteration, so now polling uses that correctly
|
2020-09-11 11:06:53 +02:00 |
|
nathan
|
93a892f439
|
Connections now can only trigger as expired from when they are created, not when they are last valid. Changed from images.isConnected -> images.count
|
2020-09-11 03:28:26 +02:00 |
|
nathan
|
e5bcd3cb1a
|
Fixed out-of-order initialization of aeron dir
|
2020-09-11 02:02:46 +02:00 |
|
nathan
|
960d1e4660
|
Added back isRunning()
|
2020-09-11 01:27:46 +02:00 |
|
nathan
|
9ef9a066a0
|
Fixed issues with forcing unique media driver locations. Fixed issues where connections weren't getting removed. Added reversal of auto-IPC (in case the server doesn't have IPC)
|
2020-09-11 01:14:22 +02:00 |
|
nathan
|
60e8c5dc2e
|
Fixed incorrect address used in log message
|
2020-09-10 14:39:08 +02:00 |
|
nathan
|
7db6a45437
|
Fixed thread visibility issues in the client handshake when reconnecting
|
2020-09-10 14:38:54 +02:00 |
|
nathan
|
c13fb205cf
|
Fixed index out of bounds for pending RMI
|
2020-09-10 14:35:23 +02:00 |
|
nathan
|
49badc0836
|
KryoPool now will automatically grow if too many are read before they are returned
|
2020-09-10 02:19:11 +02:00 |
|
nathan
|
030387c378
|
Fixed issues when RMI timeout happens
|
2020-09-10 02:05:14 +02:00 |
|
nathan
|
c9f74c162d
|
Code polish
|
2020-09-10 01:51:58 +02:00 |
|
nathan
|
c119556ae2
|
Cleaned up connection server info logs
|
2020-09-10 01:51:47 +02:00 |
|
nathan
|
9f7c921afd
|
Added extra checks to see if a network family is available before using it to connect to a server
|
2020-09-10 00:35:01 +02:00 |
|
nathan
|
696c8f65cf
|
Added extra checks to see if a network family is available before using it
|
2020-09-10 00:28:08 +02:00 |
|
nathan
|
b953f9bf85
|
Fixed issue with logging when IPv6 is wildcard
|
2020-09-10 00:21:55 +02:00 |
|
nathan
|
ac874198c2
|
WIP kryo-pool
|
2020-09-09 19:45:57 +02:00 |
|
nathan
|
594019020b
|
Fixed issue,and clarified RMI.timeout = 0 (this will wait forever)
|
2020-09-09 15:23:20 +02:00 |
|
nathan
|
ca88b9941f
|
Fixed compile warnings
|
2020-09-09 15:13:08 +02:00 |
|
nathan
|
ce5eb8cb77
|
Fixed issues with connection handshake. ALL kryo usage for a handshake is now ONLY on the primary coroutine
|
2020-09-09 12:24:04 +02:00 |
|
nathan
|
06a35ed027
|
Fixed memory leak wrt RMI waiters
|
2020-09-09 12:19:27 +02:00 |
|
nathan
|
db992d98a9
|
Removed thread specific code from coroutine
|
2020-09-09 11:03:47 +02:00 |
|
nathan
|
3e4e4abb49
|
Fixed issue when publication has intermittent subscribers (this can happen, and is OK). During send we just have to idle until one is connected again. This is different than a CLOSE event (which is not to be confused with NOT_CONNECTED)
|
2020-09-09 02:01:06 +02:00 |
|
nathan
|
b7da14834e
|
Added support for IPv6.
|
2020-09-09 01:33:09 +02:00 |
|
nathan
|
679e002785
|
Connections can linger a bit before becoming expired (underlying aeron streams can quickly come and go)
|
2020-09-04 13:19:33 +02:00 |
|
nathan
|
ae168de114
|
Cleaned up logging
|
2020-09-04 13:18:59 +02:00 |
|
nathan
|
6dddc77fdc
|
Internal stack traces should keep dorkbox network info
|
2020-09-04 10:19:53 +02:00 |
|
nathan
|
4e0ff43f5e
|
Code polish
|
2020-09-04 10:19:29 +02:00 |
|
nathan
|
f4b8ef9c5d
|
cleaned up logging
|
2020-09-03 22:41:50 +02:00 |
|
nathan
|
52cecf4f26
|
Added connection timeout to check when a connection is actually expired
|
2020-09-03 22:41:39 +02:00 |
|
nathan
|
d3c0b4265d
|
Code polish
|
2020-09-03 22:27:36 +02:00 |
|
nathan
|
1273c8f386
|
Potential fix for race conditions when closing the endpoint wrt RMI support
|
2020-09-03 22:23:17 +02:00 |
|
nathan
|
ca32ef36e1
|
Commented out kryo compression and encryption buffers + logic
|
2020-09-03 22:21:27 +02:00 |
|
nathan
|
f2bd71d8c4
|
Enabled kryo initialization counts
|
2020-09-03 22:20:41 +02:00 |
|
nathan
|
9b1603daa4
|
cleaned logging
|
2020-09-03 22:20:19 +02:00 |
|
nathan
|
bae095c0fa
|
Optimized Int.forEach
|
2020-09-03 22:19:59 +02:00 |
|
nathan
|
e99448e066
|
Only configure the media driver context to delete the dirs if this is the process that started it
|
2020-09-03 15:31:52 +02:00 |
|
nathan
|
6e665be6b6
|
removed debug code
|
2020-09-03 14:45:24 +02:00 |
|
nathan
|
c9f725ea2d
|
Fixed race condition when initialize kryo instances during startup
|
2020-09-03 14:37:09 +02:00 |
|
nathan
|
23ef5e499b
|
Fixed polling
|
2020-09-03 14:36:24 +02:00 |
|
nathan
|
aa3540a8bb
|
Fixed GCM reuse error
|
2020-09-03 11:37:27 +02:00 |
|
nathan
|
28570d92e9
|
Fixed invalid object test case
|
2020-09-03 11:15:37 +02:00 |
|
nathan
|
6a590764ff
|
Fixed issues when registering RMI via registerRmi in different orders (rmi-client/rmi-server out-of-order in different ways).
|
2020-09-03 02:40:32 +02:00 |
|
nathan
|
af36f9a4ff
|
Code polish
|
2020-09-03 02:39:38 +02:00 |
|
nathan
|
1e0fa51c60
|
Removed servers from ALWAYS starting the media driver
|
2020-09-03 01:46:32 +02:00 |
|
nathan
|
2a6c279692
|
Fixed handshake race condition which resulted in empty messages. Cleaned up code, added more debug info
|
2020-09-03 01:31:08 +02:00 |
|
nathan
|
b1e92be50b
|
Fixed issues with reverse RMI and having the client register impl classes (instead of the server)
|
2020-09-03 01:30:30 +02:00 |
|
nathan
|
b5342cd2f8
|
Changed default term buffers to be even smaller
|
2020-09-02 16:18:03 +02:00 |
|
nathan
|
07b8b1002a
|
Serialization registration (class, serializer, id, etc) is now only necessary on the server. The client receives the serialization information during the handshake.
|
2020-09-02 15:03:57 +02:00 |
|
nathan
|
e27fdbb369
|
Set kryo log level to ERROR
|
2020-09-02 03:17:01 +02:00 |
|
nathan
|
1acab50ff4
|
Added option to enable/disable changing LOOPBACK -> IPC connections
|
2020-09-02 02:51:10 +02:00 |
|
nathan
|
8083d63da0
|
Term Buffer sizes are now smaller than the default, but only if it wasn't changed externally
|
2020-09-02 02:50:46 +02:00 |
|