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