Commit Graph

315 Commits

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