Commit Graph

483 Commits

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