Commit Graph

315 Commits

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