Commit Graph

340 Commits

Author SHA1 Message Date
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