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
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
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
nathan
94e835218a
Added RMI save/get/create methods to client/server
2020-08-12 23:30:43 +02:00
nathan
ea8e12a000
Fixed issues with the connection handshake, so now connections are prepped before 'onConnect' is called.
2020-08-12 23:30:16 +02:00
nathan
ccb1267bab
Cleaned up RMI save/get/create methods. Fixed issues waiting for RMI method invocation responses
2020-08-12 23:28:37 +02:00
nathan
47891cc448
Fixed access restrictions
2020-08-12 11:21:01 +02:00
nathan
57401b4e5e
Added more comments
2020-08-12 11:20:26 +02:00
nathan
085dc30daf
Removed netty Input/Output
2020-08-11 23:33:44 +02:00
nathan
2d2dd4a912
Removed unnecessary function
2020-08-11 23:33:23 +02:00
nathan
94f623716b
Fixed exception heirarchy
2020-08-11 23:30:56 +02:00
nathan
5d696d37e2
Added more parameters for client/server exception
2020-08-11 23:03:43 +02:00
nathan
c0a44ebbb4
Added ipfilter rule
2020-08-11 16:26:30 +02:00
nathan
ac5ae44cd4
code polish
2020-08-11 16:16:08 +02:00
nathan
20d4a25232
Serialization now initializes using the Serialization defaults class
2020-08-11 16:15:49 +02:00
nathan
1608c0d6a2
WIP - finished global/connection specific RMI, IPC aeron connectivity
2020-07-06 16:36:56 +02:00
nathan
fc7baa6c8d
WIP changing the network lib from netty -> AERON
2020-07-03 01:49:00 +02:00
nathan
4c8c50e8a3
Cleanup. pre-kotlin conversion
2020-06-05 19:50:16 +02:00
nathan
794965348a
before kotlin conversion
2020-06-04 23:24:24 +02:00
nathan
cf473316e6
Able to get the EndPoint type now, if you want
2020-05-08 17:00:15 +02:00
nathan
1cf4457f77
Updated version
2020-05-08 16:29:59 +02:00
nathan
15be442cb2
Fixed session bootstrap for updated version of netty
2020-05-08 01:16:46 +02:00
nathan
0ef1d79298
Fixed comments
2020-05-07 14:58:13 +02:00
nathan
760ebf974f
Cleaned up RMI registration validation
2020-05-07 14:56:41 +02:00
nathan
450f1aa5fb
Fixed issue with RMI registration validation fragmentation count
2020-05-07 14:52:45 +02:00
nathan
1a63affdcc
Prevent AES IV leak
2019-06-15 00:42:38 +02:00
nathan
786b00932e
Updated version from 3.0 to 4.0
2019-06-14 22:02:57 +02:00
nathan
8010005323
Added ability to firewall (TCP/UDP) connections and to specify connection types (NOTHING, COMPRESS, COMPRESS_AND_ENCRYPT)
2019-06-14 20:36:26 +02:00
nathan
78d42e985a
Optimized types and methods for the Registration wrapper
2019-06-14 20:35:36 +02:00
nathan
89d70f9255
Added support for optional encryption. Cleaned up connection registration process.
2019-06-14 13:05:28 +02:00
nathan
6ca4da2e23
For UDP, prep channel for messages pre-connection happens first
2019-06-14 12:40:38 +02:00
nathan
353164fac5
Code polish
2019-06-14 12:39:10 +02:00
nathan
682a069c19
Added reconnect throttling
2019-06-14 12:38:35 +02:00
nathan
c5c709407d
Moved class registration fragmentation values to the serialization class
2019-06-14 10:57:36 +02:00
nathan
c697643562
Added deprecated warnings where appropriate
2019-06-14 10:56:28 +02:00
nathan
4e0e95fb44
Broadcast properly wraps the byte buffer (instead of unnecessary allocation)
2019-06-14 03:17:14 +02:00
nathan
050fa81aff
Added logger to debug kryo read/write. Fixed compression buffer.read calculation error
2019-06-14 03:02:59 +02:00
nathan
2af14728e7
Comment clean up
2019-06-13 21:40:56 +02:00
nathan
4efa01b8fb
Merge branch 'master' into crypto_step1
...
# Conflicts:
# src/dorkbox/network/connection/RegistrationWrapper.java
2019-06-13 21:31:40 +02:00
nathan
8c3b98be33
Lowered class registration frame size to fix potential UDP issues
2019-06-13 21:31:19 +02:00
nathan
93a6c0c05e
Merge branch 'master' into crypto_step1
2019-06-13 21:25:17 +02:00
nathan
b09ce4c650
Lowered class registration frame size to fix potential UDP issues
2019-06-13 21:24:53 +02:00
nathan
b4ff95b496
Cleaned up Kryo names + exceptions
2019-06-13 20:38:46 +02:00
nathan
6177912bb4
Crypto and compression is cleaner, uses Java native instead of bouncycastle
2019-06-13 20:37:24 +02:00
nathan
a52c67671d
Cleaned up Kryo names + exceptions
2019-06-13 20:35:09 +02:00
nathan
7b74a730ba
Fixed issues surrounding capacity
and strings/byte arrays. (we should not be using capacity, require() should manage if we need to grow capacity or not
2019-06-13 01:42:09 +02:00
nathan
372a6a06ca
Updated version from 2.17 to 3.0
2019-03-26 20:48:46 +01:00
nathan
8bd52dd202
Upgrade to Kryo 5rc2, updated to use utilities project as a maven release instead of compiling specific files
2019-03-26 20:47:40 +01:00
nathan
ec8d5d1926
Updated to java 8+ version of getting calling class
2019-02-11 23:31:28 +01:00
nathan
16019270c8
Updated version from 2.16 to 2.17
2019-02-11 15:46:42 +01:00
nathan
cdf34ac1dc
Updated version from 2.15 to 2.16
2019-01-28 15:15:08 +01:00
nathan
518c98e3af
Fixed RMI close method. Code polish
2019-01-28 09:53:42 +01:00
nathan
debd0716cd
Method signature cleanup
2019-01-27 16:42:01 +01:00
nathan
273523fc96
Shortened grace period for shutdown
2019-01-27 16:36:02 +01:00
nathan
7e442f2f8a
Consolidated multiple RMI support classes (local/network)
2019-01-25 17:04:12 +01:00
nathan
12a9293526
ConnectionRmiSupport refactor. Moved internal methods to Connection_
2019-01-25 16:41:13 +01:00
nathan
db69e2f9c8
Updated copyright/formatting
2019-01-25 16:27:01 +01:00
nathan
2a4ae99390
RMI Optimizations, merged/renamed primary serialization interface.
2019-01-25 16:17:15 +01:00
nathan
a8fc584ae4
Server shutdown now tries harder to make sure the server is actually shutdown when aborting. Can also check UDP servers now
2019-01-25 16:16:03 +01:00
nathan
aac6e30ec9
DiscoverHost now throws IoException when host discovery fails
2019-01-25 16:15:11 +01:00
nathan
1a6540f360
Shortened shutdown timeout by a lot
2019-01-25 00:49:48 +01:00
nathan
1d3d794f99
Made logger optional for Host discovery.
2019-01-22 01:02:43 +01:00
nathan
463433ef45
Fixed countdown
2019-01-22 00:40:44 +01:00
nathan
0eb19e8c3f
Clean up and optimize RMI network stack.
2019-01-20 22:44:27 +01:00
nathan
df73b839b4
Formatting
2019-01-20 21:36:22 +01:00
nathan
9d3cf9fdf5
Added additional checks to make sure the socket is UN-BOUND when shutting down a server. Added UDP checking for Server.isRunning(config)
2019-01-20 21:35:25 +01:00
nathan
bc67ca73a3
More explicit name for connection registration thread. Verified thread handoff is correct
2019-01-17 19:05:31 +01:00
nathan
66fe755bb5
Fixed comments and assignment of local variables
2019-01-17 17:14:42 +01:00
nathan
aa4fc5c44b
Fixed issues with Client/Server worker thread pool sizes.
2019-01-17 16:15:59 +01:00
nathan
e6d8666862
Fixed number of worker threads for endpoint
2019-01-17 15:58:13 +01:00
nathan
52197975cd
Better API calls for getting the string representation of an ip
2019-01-16 23:35:21 +01:00
nathan
5000fdd264
Optimize IPv4 -> String call in registration stack
2019-01-16 22:41:02 +01:00
nathan
0e42fb89af
Updated version from 2.14 to 2.15
2019-01-16 11:44:11 +01:00
nathan
51544ce594
Local-JVM connections now verify class registrations
2019-01-16 11:43:46 +01:00
nathan
cdc22485b0
Fixed class registration verification (write was compressed, read was not)
2019-01-16 11:43:23 +01:00
nathan
627ef245d2
Fixed issues with array offsets when using unpooled buffers.
2019-01-16 11:42:33 +01:00
nathan
b48886376b
Fixed javadocs
2019-01-16 11:08:59 +01:00
nathan
d47c28bcc5
Updated version from 2.13 to 2.14
2019-01-13 17:46:12 +01:00
nathan
4c40fd38f3
Class registration verification now includes serializer class (but not it's configuration).
2019-01-11 10:22:02 +01:00
nathan
63d3a586ff
Moved util methods into RmiUtil class
2019-01-11 10:12:19 +01:00
nathan
4b5430e90f
Added ability for client to send server registration data, and the server will validate that all of the registration classes are the same before allowing the connection to successfully connect.
2019-01-11 09:56:36 +01:00
nathan
7b89fc6443
Added more explicit details on why UDP can fail
2019-01-11 09:53:11 +01:00
nathan
d662f5c37c
Reverted EditableDefaultClassResolver
2019-01-10 20:52:21 +01:00
nathan
ff350991a4
Removed the need for a client to register RMI interfaces explicitly (now it is done the same was as "normal" classes, via 'register'. Fixed various startup bugs missed from the last commit
2019-01-09 23:40:19 +01:00
nathan
1ed2b65eed
Removed type generics from RemoteObjectSerializer
2019-01-09 23:39:19 +01:00
nathan
241b3d4ce2
Fixed RMI so that the impl class does not have to be registered in order to construct a proxy object
2019-01-09 23:22:54 +01:00
nathan
c609bb7328
Fixed issue with registration timeout == 0 (it will now wait indefinitely)
2019-01-09 19:54:37 +01:00
nathan
3f003995b6
Moved DNS to it's own project
2019-01-09 18:19:44 +01:00
nathan
33853d44e3
RMI is now more robust and forgiving
2019-01-09 18:19:20 +01:00
nathan
c927f87316
Cleaned up RMI field names
2019-01-09 18:18:05 +01:00
nathan
2b8befa88f
Updated version from 2.12 to 2.13
2018-12-20 16:27:13 +01:00
nathan
07cb768fc2
Updated version from 2.11 to 2.12
2018-12-19 00:08:05 +01:00
nathan
e5a96cb3b2
For RMI registration, we check to see if the interface is already registered. If so, we override it with the implementation class. This enables us to simplify registering classes for RMI
2018-12-18 23:45:56 +01:00
nathan
c54d20eae6
Fixed internal issue where RMI object was null (since it didn't exist) and we would try to add it to internal maps anyways.
2018-10-25 21:36:00 +02:00
nathan
5f2cb654d2
Updated version
2018-04-05 18:39:45 +02:00
nathan
a56b4261ae
Added more error checking for the client with invalid hosts
2018-04-05 17:15:49 +02:00
nathan
1d35a9916e
Fixed issues with StackOverflowErrors when loading Netty on windows.
2018-04-05 17:13:58 +02:00
nathan
03e30ab15c
Typo fix
2018-04-05 17:11:49 +02:00
nathan
d1fc510d60
Updated version
2018-04-04 23:49:34 +02:00
nathan
fa3f98581d
It is not necessary to interrupt the thread group
2018-04-04 23:34:29 +02:00
nathan
f72a3881eb
Fixed logic for transmitting return values/exceptions (it was incorrect
...
in the earlier commit)
2018-04-04 23:34:11 +02:00
nathan
f142a3f244
If the method return type is 'void', then we don't have to explicitly
...
set 'transmitReturnValue' to false. If there are no checked exceptions
thrown, then we don't have to explicitly set 'transmitExceptions' to false
2018-04-04 22:45:31 +02:00
nathan
617ab95ede
Added isConnected() method back to the client
2018-04-04 16:16:31 +02:00
nathan
0a2da83a2c
Better Ping/UDP-close-hint management
2018-04-04 15:25:02 +02:00
nathan
6582caa521
Added better close listener for UDP
2018-04-04 15:02:17 +02:00
nathan
fdf4ecf39b
Removed connection timing. added protocol count connection info during
...
handshake
2018-04-04 15:01:51 +02:00
nathan
ccbe893efa
Added better out-of-order message handling during connection handshake
2018-04-04 15:01:08 +02:00
nathan
b9c6a1422d
Code cleanup/polish
2018-04-04 14:58:34 +02:00
nathan
615e224292
Added close hints when the connection is shutdown
2018-04-04 14:58:24 +02:00
nathan
73a5af7a95
Added wire read/write trace logging (ie: exactly what's on the wire...)
2018-04-04 14:57:19 +02:00
nathan
292f50a059
Code polish/cleanup
2018-04-04 14:56:37 +02:00
nathan
a4cf9f4834
Datagram session now checks if event loop is shutdown before trying to
...
close
2018-04-03 15:53:01 +02:00
nathan
5d2fa50de2
Moved UDP close hint to it's own class and into the EndPoint (similar to
...
how Ping works)
2018-04-03 14:38:52 +02:00
nathan
f50b218ac1
Code cleanup
2018-04-02 16:16:56 +02:00
nathan
590ae9d94c
Added info about link-local multicast name resolution
2018-04-02 16:08:14 +02:00
nathan
0af57379e6
Fixed issues with multiple worker threads
2018-04-02 16:06:58 +02:00
nathan
6156ac1569
Updated documentation
2018-04-01 16:01:46 +02:00
nathan
d9ca5b93df
Fixed issues with UDP connection handling. Fixed issues with
...
registration order. Fixed issues with connection shutdown. Fixed
issues with explicit flush(). Added support for UDP session handling.
Updated broadcast discovery to return ports used. Added
connection.send(), which will use the best option to send
data (TCP first, otherwise UDP).
2018-04-01 14:51:13 +02:00
nathan
ab174e4e0e
Code polish
2018-03-31 16:03:52 +02:00
nathan
7e32a2ff5b
Release the byte buffer when it's a broadcast packet
2018-03-31 16:03:27 +02:00
nathan
882b65ccf1
Only try to close active datagram sessions
2018-03-29 23:07:23 +02:00
nathan
68cd0071a6
Cleaned up local channel registration
2018-03-28 20:18:34 +02:00
nathan
f889399ecf
WIP cleaning up DNS flags
2018-03-28 14:27:37 +02:00
nathan
c69d048a75
code polish
2018-03-28 10:54:12 +02:00
nathan
e44ee694c7
Ensure we always release the AddressEnvelope when doing DNS queries.
2018-03-26 23:08:13 +02:00
nathan
bac7df8b9a
Fast track disabling native library on startup
2018-03-26 23:01:09 +02:00
nathan
5b7c33befb
log output polish
2018-03-26 16:04:18 +02:00
nathan
4a3c5cf703
Always call the onDisconnect listeners during shutdown
2018-03-26 16:03:15 +02:00
nathan
c587088095
Added comments describing how UDP behaves on the server
2018-03-24 00:24:20 +01:00
nathan
f2a28c2a8d
Added ability to enable/disable loading the network native library (if
...
desired...)
2018-03-24 00:16:43 +01:00
nathan
635f97b502
removed debug code
2018-03-22 19:21:28 +01:00
nathan
dbd9c3d10a
changed method order
2018-03-22 19:21:08 +01:00
nathan
ce177adddc
code polish
2018-03-04 15:16:32 +01:00
nathan
442796a451
Moved client responses to client handlers package
2018-03-04 15:16:22 +01:00
nathan
77b587a74f
WIP Zone
2018-03-04 15:15:34 +01:00
nathan
1f2b78da7d
Added name.parent(n) method to get the parent domain of a domain
2018-03-04 13:45:53 +01:00
nathan
49a8743c4e
Added forwarding + caching for queries
2018-03-04 00:03:55 +01:00
nathan
cb4eb7fce4
code polish
2018-03-03 23:20:01 +01:00
nathan
a553404284
Added support to specify A Records for DNS lookups.
2018-03-03 16:18:26 +01:00
nathan
db4fffc893
Added byte[] constructors
2018-03-03 15:53:04 +01:00
nathan
3587933022
Dns server working for single test query issued by command line
2018-03-03 14:00:29 +01:00
nathan
0460c35e2e
Added comments
2018-03-03 13:58:38 +01:00
nathan
ee87d1f792
comment polish
2018-03-03 11:28:22 +01:00
nathan
0c887f5524
Formatting, cleaned up logic
2018-03-02 23:24:10 +01:00
nathan
e20efc5109
log formatting
2018-03-02 23:20:44 +01:00
nathan
f73cb15546
Changed logger name
2018-03-02 23:20:21 +01:00
nathan
23d28c5c8a
added another idea to the docs
2018-02-22 00:49:04 +01:00
nathan
2d2042147c
Fixed issues with missing TCP/UDP types
2018-02-22 00:48:41 +01:00
nathan
42934696f4
Cleaned up how broadcast works
2018-02-22 00:48:27 +01:00
nathan
d021340878
Added a more general ability for datagram sessions -- it's based on the
...
bootstrap implementation instead of a custom "Server" channel.
2018-02-22 00:48:10 +01:00
nathan
b0799c6846
Code polish
2018-02-22 00:42:53 +01:00
nathan
2671a930de
Updated version
2018-02-19 20:22:26 +01:00
nathan
f4e94f2562
Initial implementation of UDP session channels. todo: closing them when
...
inactive (via timeouts, since udp doesn't have sessions). Can now have
3 types of connections, TCP, UDP, and TCP+UDP
2018-02-16 21:03:07 +01:00
nathan
803f9c5fdb
Fixed channel shutdown order
2018-02-14 20:33:52 +01:00
nathan
b26e01cc3d
Moved magic byte stuff for crypto
2018-02-09 23:05:19 +01:00
nathan
763718c1c9
Cleaned up duplicate code in the state connection managers
2018-02-09 23:03:33 +01:00
nathan
73de927bd5
Removed unnecessary flush() commands
2018-02-09 22:37:09 +01:00
nathan
bf681688d0
Fixed Native library issues where it couldn't be loaded and would crash
2018-02-09 22:36:36 +01:00
nathan
d75d4b9a92
Fixed missing KQueue socket stuff for macosx
2018-01-30 16:24:41 +01:00
nathan
4eae019189
WIP DnsServer
2018-01-30 16:24:24 +01:00
nathan
5e729abb81
Code polish
2018-01-30 16:24:07 +01:00
nathan
c7318ccd4c
Moved client handlers into their own package
2018-01-29 00:50:25 +01:00
nathan
ba112edcdf
Formatting
2018-01-29 00:50:08 +01:00
nathan
45bb05f134
Simplified query response type
2018-01-29 00:49:50 +01:00
nathan
fbb043120b
formatting
2018-01-29 00:49:25 +01:00
nathan
12c7c9f0a5
Simplified resolver via DnsResponse->DnsEnvelope for all promise types
2018-01-29 00:49:17 +01:00
nathan
dc54c9b226
Improved memory/gc usage, replaced generic hashmaps with implementation
...
specific versions.
2018-01-28 17:56:36 +01:00
nathan
4d87ba10c1
Improve performance of get operations in Options
2018-01-28 14:16:11 +01:00
nathan
0404ff408d
Reworked RMI so it will not crash anything on the "remote" side. There
...
will be errors emitted, and the "local" side will receive a null object
+ invalid RMI ID.
2018-01-28 10:23:12 +01:00
nathan
05809714cf
Streamlined registering/creating RMI objects. Invalid object IDs are no
...
longer hard-coded to Integer.MAX_VALUE
2018-01-27 23:07:53 +01:00
nathan
205220f8a7
Streamlined creating RMI objects
2018-01-27 23:05:09 +01:00
nathan
dba62c131f
Cleanup for EndPointBase
2018-01-25 17:03:59 +01:00
nathan
799b9db1ef
Cleanup for EndPointBase
2018-01-25 17:02:18 +01:00
nathan
be399c44ea
Updated version
2018-01-25 16:08:14 +01:00
nathan
4cb9d8ad59
Removed a decent amount of unnecessary generics. Fixed a few bugs wrt
...
removing connection managers/listeners. Moved RMI message logic to
clean up how it worked.
2018-01-25 15:48:15 +01:00
nathan
1d2008beef
Added TypeResolver, moved ClassHelper into it's own package so
...
java 1.8 specific code can be compiled separately.
2018-01-24 17:35:46 +01:00
nathan
bfd84aaced
moved ClassHelper
2018-01-24 17:31:22 +01:00
nathan
839ff7e897
Code polish
2018-01-22 15:32:56 +01:00
nathan
b9759ae071
Changed SerializationManager package
2018-01-22 15:32:41 +01:00
nathan
5d2278cba1
Renamed RegistrerRmiSystemListener
2018-01-22 15:31:58 +01:00
nathan
f8de99df31
Fixed issues with getting generic parameter names to support lambda
...
expressions
2018-01-22 15:26:38 +01:00
nathan
ffc2375fe8
Removed and reworked RMI so that local (in-jvm) connections have the
...
exact same behavior as network connections. This was to remove
workarounds present when local in-jvm connections were used
2018-01-22 15:25:36 +01:00
nathan
d6e7affa1e
Explicit synchronize on eventLoopGroups object
2018-01-22 15:23:09 +01:00
nathan
21186fb0c4
Fixed self-defined type listener
2018-01-21 00:15:13 +01:00
nathan
328825d60e
Changed getRemoteObject(class...) to createRemoteObject(class...), so to
...
make it more clear, are we creating a NEW remote object, or getting an
already existing one?
Removed unnecessary IOException throws
2018-01-19 00:30:45 +01:00
nathan
add5b96263
Added getResponseTimeout() to RemoteObject
2018-01-18 20:03:01 +01:00
nathan
d7b7f94c1e
Signature parameter name clarification
2018-01-18 14:19:46 +01:00
nathan
33f8f0843e
Fixed RMI, so now it will properly detect methods in parent
...
classes/interfaces, without having to register them explicitly.
CachedMethods are no longer static, and there are fewer lookups
2018-01-17 21:48:07 +01:00
nathan
3e28b68e16
Added checks for shutdown while trying to connect (or reconnect)
2018-01-17 21:41:20 +01:00
nathan
6d09887de1
Cleaned up "connection refused" error log
2018-01-17 21:33:53 +01:00
nathan
c2d6f66030
Moved pipeline RMI files into rmi package
2018-01-17 21:26:07 +01:00
nathan
ed1fdf4085
Added isShutdown() query
2018-01-15 16:02:09 +01:00
nathan
758a93d1b9
Code polish. Removed waiting for RMI to startup. Changed how
...
abortRegistration works, added MACOSX native event loops, Cleaned up how
waiting for registration works (it's now a CountDownLatch. It's much
more stable now.) Removed duplicate/dead methods. Serialization can now
accept/reject interfaces for object serialization (as a way to permit
"stubs" so class IDs match)
2018-01-14 23:01:09 +01:00
nathan
1d3cd06130
Code cleanup for shutdown and checking if a thread is in a netty event
...
loop
2018-01-14 22:57:18 +01:00
nathan
404e54bff8
Code polish
2018-01-14 18:22:02 +01:00
nathan
72068e07e2
Code polish
2018-01-14 18:18:55 +01:00
nathan
e708d56062
JavaDoc polish
2018-01-14 00:20:54 +01:00
nathan
0395f62ac0
Moved serialization 'stuff' to it's own serialization package
2018-01-14 00:04:43 +01:00
nathan
a474da5c68
Moved isEncrypted() check into KryoExtra, added register(Class<?> clazz,
...
int id);
2018-01-13 23:59:36 +01:00
nathan
b4394e6755
Moved isEncrypted() check into KryoExtra
2018-01-13 23:54:20 +01:00
nathan
d39930a700
Added notes, code polish, connect now times-out instead of waiting
...
forever
2018-01-12 17:18:09 +01:00
nathan
331ca0e36c
Code polish
2018-01-12 16:42:25 +01:00