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
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