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
nathan
4f55f08aa7
Updated version
2018-01-11 23:44:37 +01:00
nathan
ad7e0f44f9
Code polish
2018-01-11 23:44:17 +01:00
nathan
71111c4e3c
WIP DnsServer + Server Handlers
2018-01-11 21:14:46 +01:00
nathan
7921c748ca
Removed dead code
2018-01-11 15:09:05 +01:00
nathan
658d8e96b5
Switched addListener/Resolve call order
2018-01-11 15:03:12 +01:00
nathan
1bfcc61a92
Fixed issues with ensuring appropriate hostName's are FQDN (absolute)
2018-01-11 14:59:33 +01:00
nathan
6d7ccb322e
DnsClient now throws UnknownHostException if there is no DNS resolution.
...
Added a default timeout for DNS queries/etc + method with the timeout
as a parameter
2018-01-11 14:58:35 +01:00
nathan
542092a7b3
Potential fix for bootstrap registration iteration errors
2018-01-11 14:57:32 +01:00
nathan
5b890a623a
Fixed issue with config.host == null (it can never be null -- the "any"
...
address is 0.0.0.0, and we take care of how to bind it to any
internally)
2018-01-11 14:55:55 +01:00
nathan
c44dd03587
Fixed logic with local-channel XOR network-channel. Cleaned up logger
...
access
2018-01-11 14:54:51 +01:00
nathan
b64ca30fc7
Changed parseV6/V6 to public access
2018-01-11 14:52:47 +01:00
nathan
d9c2bcc3e2
Code polish
2018-01-11 14:51:11 +01:00
nathan
9970e452e2
Added @Override annotations
2018-01-11 14:50:38 +01:00
nathan
a9ba4a5b52
Improved performance of byte buf allocator for UDP connections
2018-01-03 22:30:06 +01:00
nathan
5ff2f348a0
Fixed comment typo
2018-01-03 17:27:41 +01:00
nathan
12c628bcae
More clearly specified TCP/UDP port requirements. Code polish
2017-11-08 15:53:22 +01:00
nathan
c33a086465
Cleaned up DnsClient
2017-11-08 11:39:31 +01:00
nathan
34f4ec836d
code polish
2017-11-08 11:38:22 +01:00
nathan
ecce442137
Added back timeout
2017-11-08 11:38:12 +01:00
nathan
5a746d9344
refactor
2017-11-08 11:38:01 +01:00
nathan
873e3e9863
Added more DNS required files
2017-11-08 11:37:46 +01:00
nathan
762215304d
Added netty based DNS resolver. This is VERY similar to the one released
...
officially, but with changes to accept/work with xbill DNS records
(which are more complete than netty's)
2017-11-06 23:20:34 +01:00
nathan
2a66a70a4f
Added xbill derrived DNS - WIP
2017-11-06 16:55:24 +01:00
nathan
b17dfce221
WIP for the DNS server. Restructured to add "endPointBase" so other
...
types of endpoints (ie: the DnsServer) can be supported for
start/shutdown.
2017-10-27 15:00:58 +02:00
nathan
8be291608d
Code polish
2017-10-26 21:13:14 +02:00
nathan
124ef3d42c
Added more options to the DnsClient
2017-10-26 21:00:09 +02:00
nathan
cf27224fec
Updated version number
2017-10-14 14:29:47 +02:00
nathan
e8b47df493
Added try/catch around creating remote objects
2017-10-14 13:57:10 +02:00
nathan
1de96ae769
Abstract methods for clarity
2017-10-14 13:47:34 +02:00
nathan
b4a05689f0
sessionManager notify cleanup
2017-10-13 19:41:00 +02:00
nathan
1af118f468
add/removeConnection -> add/remove
2017-10-13 19:38:46 +02:00
nathan
d0ffd01d5e
ListenerBridge -> Listeners (plural). add/removeListener -> add/remove
2017-10-13 19:38:24 +02:00
nathan
f8a33377d6
Listeners can now be chained
2017-10-13 16:58:33 +02:00
nathan
7237d03407
Added name information to CachedMethod comparator
2017-10-09 17:43:20 +02:00
nathan
16db5a89d0
Updated version
2017-10-03 00:05:29 +02:00
nathan
c884f5167b
Removed UDT, as it has been deprecated and marked for removal upstream.
2017-10-03 00:03:06 +02:00
nathan
e62e4a59c1
Updated version
2017-09-26 12:44:51 +02:00
nathan
fb574189d3
Added server information when starting a connection
2017-09-26 12:42:36 +02:00
nathan
0dcdca8e43
Added address information when successfully listening for connections.
2017-09-26 12:37:00 +02:00
nathan
672a579bc1
Added IP information when server cannot bind to an interface.
2017-09-26 12:35:36 +02:00
nathan
891f8ac25d
Updated client with more specific details when it cannot connect.
2017-09-26 12:26:02 +02:00
nathan
846e2d7760
Updated version
2017-09-25 23:37:38 +02:00
nathan
aa686ef99a
Java 1.6 compatibility fixes
2017-09-25 23:29:17 +02:00
nathan
50f98e834c
Javadoc/comments cleanup
2017-09-25 23:23:10 +02:00
nathan
6c97567d04
RMI cleanup/polish
2017-09-25 23:15:32 +02:00
nathan
f8d71b96dd
RMI working now
2017-09-25 23:06:21 +02:00
nathan
37adecd68a
Code cleanup
2017-09-25 21:56:45 +02:00
nathan
0dc0a0e0c2
Javadoc cleanup
2017-09-25 00:21:04 +02:00
nathan
db850f89bd
Fixed RMI across multiple clients/servers. Code cleanup
2017-09-24 23:30:17 +02:00
nathan
3242574806
Updated deprecated methods
2017-09-23 21:17:19 +02:00
nathan
9d8f381427
Serialization manager is now moved into the Configuration options, so
...
that different network backends (within the same application) can
support multiple serialization schemes.
2017-09-22 16:45:06 +02:00
nathan
c22ac7bd81
Updated version
2017-09-22 15:42:45 +02:00
nathan
55649ec160
javadoc formatting
2017-09-22 13:48:57 +02:00
nathan
1e724c55f9
Fixed package name. The standard package naming
...
convention with CamelCase is consistent across projects.
2017-09-22 09:25:10 +02:00
nathan
ac955c250f
Reverted change to use Version (now uses string again).
2017-09-15 00:47:16 +02:00
nathan
6f1d7f0672
Updated version
2017-08-04 18:27:24 +02:00
nathan
ff79443030
Updated storage API
2017-08-04 17:39:21 +02:00
nathan
fa57d78b55
Updated version
2017-08-02 22:58:55 +02:00
nathan
bd82695d2d
Made changes to the StorageSystem (IOExceptions, default serialization
...
manager, etc). Minor refactoring.
2017-08-02 22:12:50 +02:00
nathan
80aa58b590
Updated version
2017-07-31 22:13:46 +02:00
nathan
8959289b33
Updated versoin
2017-07-30 21:31:13 +02:00
nathan
88bf805f80
Moved NativeLoader to Utilities.
2017-07-30 20:17:29 +02:00
nathan
b8849832ac
Moved Network UDT files to their own project. The Network-UDT project
...
MUST be compiled on Java6, while the Network project MUST be compiled on
Java7. This difference causes problems in the IDE, since one cannot set
different source level version on different directories, but only on
modules.
2017-07-30 20:17:17 +02:00
nathan
a4e7447e48
Formatting
2017-07-30 19:55:42 +02:00
nathan
6080c4fd4d
Revert java 7 changes
2017-07-30 19:54:06 +02:00
nathan
d39f3ea289
Updated UDT to be compilable on Java7.
2017-07-30 19:50:28 +02:00
nathan
2154eeb5a8
Formatting
2017-07-30 19:49:54 +02:00
nathan
3461d511f9
Fixed DNS to work with changes from netty 4.1.13
2017-07-30 11:40:20 +02:00
nathan
f091b7d604
Fixed issues when closing a channel that was already closed.
2017-07-30 11:28:33 +02:00
nathan
8f5558c95c
Updated Version
2017-07-29 23:31:09 +02:00
nathan
734dce719b
Refactored OsType -> OSType
2017-07-23 11:30:52 +02:00
nathan
8a26760af3
Now uses Version instead of String.
2017-07-22 14:52:01 +02:00
nathan
a9e5ebb168
Added TEMP_DIR to OS.
2017-06-26 14:06:07 +02:00
nathan
ba593bbf9e
Moved Random utils into their own class
2017-03-10 17:04:35 +01:00
nathan
8e7d51ead8
Updated version information
2017-02-21 14:43:48 +01:00
nathan
3c8ea1f4d9
Updated Storage API
2017-02-18 23:59:47 +01:00
nathan
7c0d2d0493
Changed Store -> StorageType to make more sense.
2017-02-12 23:21:58 +01:00
nathan
782ca1a8e3
Updated version/readme
2017-02-01 00:53:22 +01:00
nathan
598b675754
Updated version
2016-05-31 02:21:42 +02:00
nathan
f6ebbc1080
Updated version
2016-04-28 16:46:18 +02:00
nathan
7009a2241f
updated version
2016-04-04 17:25:31 +02:00
nathan
dfbd95bcce
Updated version
2016-04-03 21:03:27 +02:00
nathan
76599e370e
Refactored listener dispatch events
...
(connect/disconnect/idle/message-received) so that they are now
interfaces, and the backing implementation uses the single-writer
principle
2016-04-03 18:58:38 +02:00
nathan
55dd4c4d55
Added FastThreadLocal
2016-04-02 19:42:34 +02:00
nathan
3615d6cb72
Code polish, now uses FastThreadLocal
2016-04-02 19:33:09 +02:00
nathan
80ab10df01
Moved channel registration into registration wrapper
2016-04-02 17:00:40 +02:00
nathan
666b391514
Comment polish and better null checks
2016-04-02 16:58:26 +02:00
nathan
ad34679e71
Added ability to add/remove custom connections to the server backed,
...
to allow for custom connection types (such as web-based) that we want
our server to be able to manage + dispatch listeners
2016-03-25 17:54:58 +01:00
nathan
f6522f8b6d
Converted the connection manager (listeners + connection dispatch) to
...
use the singler-writer-principle
2016-03-22 15:50:41 +01:00
nathan
24761bb84b
Updated version
2016-03-20 10:00:26 +01:00
nathan
0d768dd321
KryoExtra no longer depends on concrete 'connection' implementation,
...
now uses crypto + rmi interfaces
2016-03-20 08:02:30 +01:00
nathan
2988ae4bb0
tweaked UDT library dist name
2016-03-20 07:26:58 +01:00
nathan
7af25d29ac
Removed epoll loader (it's now in the DependencyJar builder)
2016-03-20 07:25:15 +01:00
nathan
63d8d06653
Changed UDT dist name to netty-UDT...
2016-03-20 07:23:49 +01:00
nathan
ce4e3bef90
Simplified loading native libraries
2016-03-19 03:05:54 +01:00
nathan
cb6f82dbda
Reverted java7 NIO changes, since classloading fixes for java6 for
...
Netty have been implemented
2016-03-18 16:14:55 +01:00
nathan
aae89891c0
Code polish, by default does not encrypt data sent over a loopback
...
interface, only over remote interfaces.
2016-03-18 16:13:53 +01:00
nathan
7168eaadb7
Cleaned up comments, added isLoopback to client
2016-03-18 16:11:56 +01:00
nathan
9ffc8655bc
Added writeCompressed/readCompressed methods.
2016-03-18 16:04:27 +01:00
nathan
739315afb4
Added java6 compatibility fix
2016-03-18 15:59:53 +01:00
nathan
d78e19ae4c
Added isLoopback(), for knowing if this is a loopback connection
2016-03-18 15:59:21 +01:00
nathan
c1cce753cd
Better localhost usage
2016-03-18 03:48:05 +01:00
nathan
998dc07698
Moved java7 specific NIO API to bottom of class
2016-03-18 03:08:45 +01:00
nathan
a259e9bfd1
Code polish, tweaked how remote key validation works (when we disable
...
it, it becomes WARN instead of ERROR+abort
2016-03-18 03:02:58 +01:00
nathan
50b416593f
Changed local machine ID from 127.0.0.1 -> 0.0.0.0 so loopback
...
connections will work
2016-03-18 03:00:58 +01:00
nathan
1215fce459
clarified init parameters
2016-03-18 02:34:21 +01:00
nathan
2c6212b9e3
tweaked comments
2016-03-18 02:32:06 +01:00
nathan
ee8bb02df6
removed debug messages from shutdown handler
2016-03-18 02:27:59 +01:00
nathan
ceda14e78f
Added comments
2016-03-18 02:27:44 +01:00
nathan
ca28a7d908
Revert java6 NIO compatibility. Netty requires java7 because the
...
classloader cannot load certain classes (because of recursion issues)
2016-03-18 01:21:12 +01:00
nathan
64df20fcdf
Java 6 NIO compatibility fix
2016-03-17 19:57:08 +01:00
nathan
24b844e4e3
Updated version.
2016-03-17 18:09:49 +01:00
nathan
05291d61a3
Fixed issues with client reconnecting (it was flaky)
2016-03-17 02:57:42 +01:00
nathan
fe8e21c449
Now reuses buffers if possible during compression/encryption stage
2016-03-17 00:16:13 +01:00
nathan
a7a3fa6091
Fixed issues when deployed in a diffeerent (non-jar) container.
2016-03-13 20:43:27 +01:00
nathan
b1d4d1fc77
Updated version
2016-03-13 17:37:43 +01:00
nathan
5b68fde15d
Disabled warnings for ChannelActive when used via a LocalChannel
2016-03-13 16:16:13 +01:00
nathan
0d185e4de2
Better extraction and use of UDT natives
2016-03-13 16:08:21 +01:00
nathan
780a0d2bc5
Updated version info
2016-03-13 01:16:24 +01:00
nathan
79ecc1da51
Updated network PropertyStore to be final (it's only intended to be
...
used if there is no other SettingStore available)
2016-03-13 01:11:51 +01:00
nathan
ee75e50377
Updated dependencies, updated version
2016-03-12 12:52:27 +01:00
nathan
1379e18a94
updated version
2016-03-11 04:01:46 +01:00
nathan
1e017804bb
Fixed client reconnect
2016-03-11 00:05:42 +01:00
nathan
537d76bc8f
Changed endpoint.close -> endpoint.closeConnections for clarity on behavior
2016-03-10 23:50:34 +01:00
nathan
17efc50a06
Renamed Store.shutdown -> Store.close
2016-03-10 23:45:34 +01:00
nathan
36d1187105
Changed to curve25519
2016-03-10 23:32:10 +01:00
nathan
e1332ab74d
made serialization manager optional
2016-03-10 23:31:30 +01:00
nathan
71abcbae91
Fixed threading issues with encryption
2016-03-10 17:20:30 +01:00
nathan
58a20b2913
Code polish
2016-03-10 17:19:32 +01:00
nathan
c4fa7253ea
Changed property store to package private
2016-03-10 17:18:46 +01:00
nathan
3ddecfd21f
Changed eventLoopGroup name UDP->DNS, fixed resource leak with DNS response.
2016-03-10 01:26:27 +01:00
nathan
76b577365d
Cleaned up UDT api
2016-03-09 14:51:43 +01:00
nathan
3d86c4d87d
better comments
2016-03-09 14:51:24 +01:00
nathan
a597768c20
removed unnecessary synchronization
2016-03-09 14:48:39 +01:00
nathan
359c84aab4
spacing
2016-03-09 14:05:04 +01:00
nathan
1cf59944fa
Added AES GCM counter IV
2016-03-09 14:03:10 +01:00
nathan
dbea782033
Fixed UDT loading when in IDE
2016-03-09 03:18:59 +01:00
nathan
a82dbf81b5
Implemented counting AES-GCM IV
2016-03-09 03:04:10 +01:00
nathan
dda6086a2c
Better comments
2016-03-09 00:51:54 +01:00
nathan
37224b3097
kryo compression now uses optimized int instead of standard int
2016-03-09 00:49:36 +01:00
nathan
d91ee89102
better comments
2016-03-09 00:48:39 +01:00
nathan
0a2f37c482
Fixed typo in log
2016-03-09 00:48:24 +01:00
nathan
876caf1dc0
Changed RuntimeException to IllegalState exception
2016-03-09 00:47:27 +01:00
nathan
e1942ae03f
Code polish. Removed optional compression (because for small data, it doesn't matter with AES padding)
2016-03-08 03:18:12 +01:00
nathan
9593cfa70a
Moved normal/crypto serialization methods into their own function
2016-03-08 01:09:12 +01:00
nathan
97eff8fe67
Added initial version information
2016-03-07 01:21:47 +01:00
nathan
8fc09609a2
Removed unneeded property
2016-03-07 01:08:47 +01:00
nathan
bdddc540bb
Removed "tool" support from library. It doesn't belong here. Also added @Property annotation to applicable fields
2016-03-07 01:08:30 +01:00
nathan
b1934a5b2d
Updated file licensing
2016-03-07 01:07:37 +01:00
nathan
e1823c0f3b
Fixed issues with using the backing arrays. code polish
2016-03-06 23:56:17 +01:00
nathan
e2f3f3aca7
code polish, cleaned API, better exception throwing
2016-03-06 23:54:50 +01:00
nathan
428e1fc9c1
Moved RmiFieldCache into better data structure (single-writer-principle variant). code polish
2016-03-06 23:54:11 +01:00
nathan
52f5c1688b
Code polish. Changed kryo to pool (needed for nested serialized objects, specifically RMI). Cleaned up API.
2016-03-06 23:53:25 +01:00
nathan
6e72e79d0c
code polish
2016-03-06 23:51:59 +01:00
nathan
c38a6277d9
Cleaned up/polished CachedMethods & Overriding methods
2016-03-06 23:51:50 +01:00
nathan
924adfc6c0
Cleaned up RMI logging
2016-03-06 23:51:06 +01:00
nathan
04bfaf1c70
fixed issue where registration could beat the check. It is more robust now
2016-03-02 01:27:48 +01:00
nathan
48707e6a73
Code polish. Moved comparator to private static final field
2016-03-02 01:26:54 +01:00
nathan
31fdf957b8
Cleaned project hierarchy
2016-03-01 13:35:39 +01:00