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 |
|
nathan
|
e20f9b91de
|
Added IPC support, filled out more methods. Better support for connect in a nested disconnect callback. Fixed issue with closing connections-with-handshake-errors on the server pending.
|
2020-09-02 02:39:05 +02:00 |
|
nathan
|
e09fd43e37
|
Added guarantee of aeron publication log deletion (warning if it cannot delete the file)
|
2020-09-01 20:36:24 +02:00 |
|
nathan
|
3ade7f229e
|
Fixed threading issue with read/write global kryo
|
2020-09-01 14:39:18 +02:00 |
|
nathan
|
9a4c79e445
|
Fixed threading issue with read/write global kryo
|
2020-09-01 14:38:49 +02:00 |
|
nathan
|
0cf510fd7c
|
Fixed comments
|
2020-09-01 14:38:06 +02:00 |
|
nathan
|
36c805cc2f
|
Renamed class
|
2020-09-01 09:13:12 +02:00 |
|
nathan
|
9ec8f4efe3
|
Better support for sending RMI objects
|
2020-09-01 09:12:30 +02:00 |
|
nathan
|
051f419300
|
Flipped packed IDs order for creating connection RMI objects. Added better toString() info
|
2020-08-30 23:13:38 +02:00 |
|
nathan
|
f1fec705b9
|
Tweaked how the settingsStore types are registered with kryo
|
2020-08-30 23:12:07 +02:00 |
|
nathan
|
202b201a81
|
Fixed spacing
|
2020-08-30 22:27:08 +02:00 |
|
nathan
|
8ae9b9ddbb
|
Code cleanup
|
2020-08-28 10:21:54 +02:00 |
|
nathan
|
080a60f85d
|
Fixed RMI comments, code cleanup
|
2020-08-28 10:20:53 +02:00 |
|
nathan
|
fe5aa1d8a6
|
RMI cache now emits errors using the notifyError callback
|
2020-08-28 10:20:15 +02:00 |
|
nathan
|
ffa286c913
|
Class registration for RMI can now happen "out of order" and can accept with duplicates (which are automatically ignored)
|
2020-08-28 10:19:20 +02:00 |
|
nathan
|
47919b9214
|
Serialization class is now open, so it can be replaced/extended as necessary
|
2020-08-27 19:05:45 +02:00 |
|
nathan
|
39a77c4e65
|
Fixed issues with client/server onDisconnect messages. Client/server.close() will now wait for all onDisconnect() callbacks to finish before returning from the close() method
|
2020-08-27 14:00:35 +02:00 |
|
nathan
|
88c5644046
|
Better fix for client notifyDisconnect
|
2020-08-27 02:57:43 +02:00 |
|
nathan
|
01d818fa6e
|
Fixed issues with connection listenermanagers assignment from a client connection. Added more notes
|
2020-08-27 02:33:09 +02:00 |
|
nathan
|
7c32c066b4
|
Better logs for handshake
|
2020-08-27 01:54:59 +02:00 |
|
nathan
|
661c978b07
|
Fixed issues with getting RMI interface IDS and late id registration
|
2020-08-27 00:47:37 +02:00 |
|
nathan
|
006e597867
|
Cleaned up logging, code polish
|
2020-08-27 00:46:17 +02:00 |
|
nathan
|
e7a7ec9737
|
Code polish
|
2020-08-27 00:45:09 +02:00 |
|
nathan
|
fc28153ed4
|
Fixed issues cleaning stack traces for proxy invocations
|
2020-08-27 00:44:43 +02:00 |
|
nathan
|
1750e0a2b0
|
Fixed issue with meaningless stack trace for suspending methods
|
2020-08-27 00:44:21 +02:00 |
|
nathan
|
39503ac6d9
|
Cleaned up fragment-limit for poll, added comments
|
2020-08-26 16:27:59 +02:00 |
|
nathan
|
efa032740a
|
Code polish with the fragment handler
|
2020-08-26 16:24:40 +02:00 |
|
nathan
|
986585f073
|
Added a way to get messages in progress for a connection
|
2020-08-26 16:24:17 +02:00 |
|
nathan
|
31a32d303a
|
Removed dead code
|
2020-08-26 15:48:43 +02:00 |
|
nathan
|
b3818b0b30
|
Updated comments
|
2020-08-26 15:39:41 +02:00 |
|
nathan
|
b6f337d0e6
|
Added RMI serialization syncrhonization between the server/client during the handshake. Fixed serialization for sending RMI objects in both directions. Removed NetworkSerializationManager, and instead pass the Serialization implementation.
|
2020-08-26 15:39:29 +02:00 |
|
nathan
|
570aeee52c
|
WIP Rmi object serialization
|
2020-08-25 20:52:37 +02:00 |
|
nathan
|
977929d2a9
|
Cleaned up log
|
2020-08-25 20:52:01 +02:00 |
|
nathan
|
aaba26ab17
|
Cleaned up error log when ReflectASM cannot be used
|
2020-08-25 19:47:41 +02:00 |
|
nathan
|
a464d4b231
|
Fixed issue clearing RMI proxy objects on connection close
|
2020-08-25 19:47:13 +02:00 |
|
nathan
|
42664bfdfe
|
Fixed issues with restarting a client, notifyConnect/Disconnect now ALWAYS happen on a new coroutine
|
2020-08-25 17:46:36 +02:00 |
|
nathan
|
b24e4ae710
|
Code cleanup
|
2020-08-25 02:58:16 +02:00 |
|
nathan
|
6ad850209c
|
Fixed log typo
|
2020-08-25 02:55:55 +02:00 |
|
nathan
|
19e631a7ed
|
Centralized sending messages, fixed connection initialization and connection expiration checks
|
2020-08-25 02:43:20 +02:00 |
|
nathan
|
81302648b3
|
Cleaner logging of class registrations
|
2020-08-25 02:29:18 +02:00 |
|
nathan
|
3326fba214
|
Removed double-poll for events on the connection
|
2020-08-25 02:27:45 +02:00 |
|
nathan
|
ab69c21774
|
Cleaned up logging for registration data
|
2020-08-25 01:57:26 +02:00 |
|
nathan
|
2faba6dcb4
|
Removed debug code
|
2020-08-23 19:23:26 +02:00 |
|
nathan
|
59773b4cce
|
Work on cleaning up how exceptions are thrown/logged
|
2020-08-23 01:12:17 +02:00 |
|
nathan
|
389af93f0a
|
More work done on cleaning up stack traces
|
2020-08-22 22:58:50 +02:00 |
|
nathan
|
4a033651cc
|
Cleaned up RMI coroutine suspension
|
2020-08-22 19:29:46 +02:00 |
|
nathan
|
0a9ae32595
|
Simplified RMI Response manager method invocations and access. code polish
|
2020-08-21 00:31:01 +02:00 |
|
nathan
|
c117c90ee5
|
RMI proxy objects no longer save "globally", but instead now are saved per connection
|
2020-08-20 23:28:12 +02:00 |
|
nathan
|
779861b072
|
Fixed math for rmiID storage. made ASYNC rmi call ID a constant
|
2020-08-20 22:09:39 +02:00 |
|
nathan
|
698701dfdc
|
rmiID is ALWAYS on the right for packed IDs. Fixed rmiID unsigned operations. WIP suspend proxy invocations
|
2020-08-20 13:08:36 +02:00 |
|
nathan
|
ee5e9eb24e
|
Updated copyright notices in files
|
2020-08-19 15:35:45 +02:00 |
|
nathan
|
4299078919
|
Updated copyright notices in files
|
2020-08-19 15:25:59 +02:00 |
|
nathan
|
bcc46577aa
|
Added more stack cleanup methods
|
2020-08-19 15:06:10 +02:00 |
|
nathan
|
f2704218f2
|
WIP suspending coroutine calls
|
2020-08-19 14:50:51 +02:00 |
|
nathan
|
0c9949225f
|
Fixed issues with RMI, fixed how rmi-async is handled
|
2020-08-19 01:34:31 +02:00 |
|
nathan
|
c4bac5116f
|
Updated comments
|
2020-08-19 01:06:11 +02:00 |
|
nathan
|
71e4f1ee3f
|
Removed unnecessary deprecation
|
2020-08-18 23:54:17 +02:00 |
|
nathan
|
1232ea0d8b
|
WIP serialization cleanup
|
2020-08-18 22:38:00 +02:00 |
|
nathan
|
345de4d734
|
take/return kryo no longer need to suspend
|
2020-08-18 22:37:08 +02:00 |
|
nathan
|
da5264c542
|
Fixed RMI short/int packing for negative numbers
|
2020-08-18 01:49:19 +02:00 |
|
nathan
|
d2caea6645
|
code cleanup, extracted more complex logic into it's own function
|
2020-08-17 16:52:46 +02:00 |
|
nathan
|
98c77488b5
|
Added continuation serializer for when serializing methods that are suspend
|
2020-08-17 16:51:13 +02:00 |
|
nathan
|
6f8a9c9d05
|
Cleaned up cached methods, added toString
|
2020-08-17 16:50:25 +02:00 |
|
nathan
|
da44f7c339
|
converetd to kotlin
|
2020-08-17 16:49:00 +02:00 |
|
nathan
|
57d0b2a14e
|
Fixed generics
|
2020-08-17 16:48:48 +02:00 |
|
nathan
|
a214c2b53a
|
converted to
|
2020-08-17 16:48:39 +02:00 |
|
nathan
|
77c3209090
|
Rename .java to .kt
|
2020-08-17 16:48:29 +02:00 |
|
nathan
|
f84bcdbec5
|
Added close for rmi support, removed actor
|
2020-08-17 16:48:16 +02:00 |
|
nathan
|
cd42f6b85d
|
Fixed size error when cleaning the stack trace
|
2020-08-17 16:47:50 +02:00 |
|
nathan
|
22f80497ef
|
Changed package name
|
2020-08-15 13:26:58 +02:00 |
|
nathan
|
4d0a1c9259
|
Converted to kotlin
|
2020-08-15 13:22:43 +02:00 |
|
nathan
|
8d9bef0ccc
|
separated handshake from connection management. cleaned up API
|
2020-08-15 13:21:20 +02:00 |
|
nathan
|
9eb3c122d7
|
Worked on RMI, moved aeron IO, tweaks to connection management
|
2020-08-15 13:20:31 +02:00 |
|
nathan
|
d9ab3f7247
|
Moved Kryoextra, moved Aeron IO, fixed generics with serialization
|
2020-08-15 13:14:55 +02:00 |
|
nathan
|
1b796971d3
|
Changed ClientRejectedException hierarchy
|
2020-08-15 13:13:40 +02:00 |
|
nathan
|
f891e76478
|
Ensure minimum port range
|
2020-08-14 22:42:25 +02:00 |
|
nathan
|
8857d1d016
|
Changed netty -> agrona for compression
|
2020-08-13 17:03:06 +02:00 |
|
nathan
|
bb6cacbaee
|
WIP - disabled ping
|
2020-08-13 17:02:41 +02:00 |
|
nathan
|
ac0aba1113
|
Fixed comments
|
2020-08-13 17:02:24 +02:00 |
|
nathan
|
6bd93ac8ea
|
Fixed bug with registration detection for RMI types, fixed bug sending wrong class name for registration validation.
|
2020-08-13 16:54:43 +02:00 |
|
nathan
|
a58af6ba00
|
Cleaned up log message. Now supports constructor parameters for creating RMI objects
|
2020-08-13 14:39:19 +02:00 |
|
nathan
|
3513e58d30
|
Added DirectBuffer to constructor for AeronOutput
|
2020-08-13 12:03:38 +02:00 |
|
nathan
|
315eb9d80b
|
Fixed typo in log
|
2020-08-13 01:03:40 +02:00 |
|
nathan
|
290688b51c
|
Changed log for generating ecc keys
|
2020-08-13 01:03:23 +02:00 |
|
nathan
|
8b6751f3f3
|
Removed debug code
|
2020-08-13 01:02:42 +02:00 |
|
nathan
|
7fbc86d132
|
Removed RMI debug comments
|
2020-08-13 00:50:53 +02:00 |
|
nathan
|
e621bfb4e3
|
Better exception handling wrt RMI method invocation
|
2020-08-13 00:47:35 +02:00 |
|
nathan
|
10e581a21c
|
Reworked how connections are implemented (they are no longer an interface), refactored internal structure of how connections are managed and established. Added proper crypto for handshake data
|
2020-08-12 23:35:31 +02:00 |
|
nathan
|
007220b82e
|
Removed filter that won't be used
|
2020-08-12 23:31:56 +02:00 |
|
nathan
|
a52c2d9adb
|
Added trampoline for coroutine suspend argument access
|
2020-08-12 23:31:36 +02:00 |
|