Commit Graph

56 Commits

Author SHA1 Message Date
Robinson 5c4d64f3f1
fixed up comments 2023-11-28 20:52:58 +01:00
Robinson bf0cd3f0e6
Added support for PER-CONNECTION buffering of messages (default is enabled) 2023-11-27 11:14:52 +01:00
Robinson f1a06fd8fd
Better comments/docs 2023-11-27 11:13:54 +01:00
Robinson 58535a923b
Added support for connection tags (so the client can set a name for its connection, and the server will get that name). This is usefull for identifying different connections (and doing different things) based on their tag name. 2023-10-28 20:55:49 +02:00
Robinson 70825708a3
More careful event dispatch (no longer global, but per endpoint) 2023-10-26 08:09:47 +02:00
Robinson 495cb954d8
cleanAllStackTrace() returns itself 2023-10-24 15:14:39 +02:00
Robinson b2b6cfdc10
Removed KotlinLogging (it has a niche usage that did not apply) 2023-09-13 17:04:25 +02:00
Robinson 81380fe633
Wrapped logger.debug/trace into if statements to prevent the JVM from creating unnecessary lambdas 2023-09-13 16:01:14 +02:00
Robinson dafcc97eac
cleanStackTrace() now returns itself. 2023-09-08 13:20:24 +02:00
Robinson 9b1650ae31
Code cleanup 2023-09-06 16:24:45 +02:00
Robinson 1b2487daec
Error notifications have their own dispatcher now (and it's in the ListenerManager) 2023-09-05 12:57:41 +02:00
Robinson e185f496ec
Removed coroutines/suspending calls 2023-09-04 00:48:00 +02:00
Robinson ae08ff2c2f
Updated classutils 2023-08-05 13:24:21 -06:00
Robinson b4a57c9525
ListenerManager now uses volatile arrays instead of atomic (still follows single-writer-principle) 2023-07-03 21:40:07 +02:00
Robinson dec10ab4bc
OnError callbacks are now suspending 2023-06-29 12:12:29 +02:00
Robinson 3a07b6bf86
Reference of existing list is kept before dispatching into new threads 2023-06-25 17:22:59 +02:00
Robinson 119870bdc8
Added more comments, events now run on specific threads 2023-06-25 12:12:53 +02:00
Robinson 7e748bd7dc
Reference copies of atomic lists when calling them (in case the list is cleared in a reentrant call 2023-06-16 14:48:19 +02:00
Robinson c2a5befb09
Added the ability to close the listenerManager 2023-05-24 00:15:04 +02:00
Robinson 95d7006c74
Cleaned up stack-trace cleanup method invocation 2023-04-29 00:46:16 +02:00
Robinson 24f2246016
Errors will ALWAYS log, and will log only 1 time. 2023-03-05 17:20:38 +01:00
Robinson 96b5bcf905
moved runBlocking to invoking method 2023-03-02 19:43:24 +01:00
Robinson e0e8d06eaf
Added notifyError(global) and added array.remove 2023-03-01 12:46:12 +01:00
Robinson c8af0ba33b
Moved add() to companion object 2023-02-25 13:23:29 +01:00
Robinson b94c55cd4f
Fixed compiler warnings 2022-11-15 00:18:18 +01:00
Robinson 4454d2904e
EndPoint interaction on the network can be overridden for a 100% custom wire protocol 2022-10-02 15:03:28 +02:00
Robinson dad5cd90b0
Network now uses MDC + unique session id's to initiate/create connections. Prevents issues surrounding handshake conflicts. Now uses exclusive publications, also synchronizes on connection when sending data. Fixed issues when binding to IPv6 Wildcard IPs. RMI events will (attempt) to suppress errors when the connection is closed when the RMI waiter times out. 2022-08-04 03:39:14 +02:00
Robinson 3ef3d28d24
Removed coroutines from parts of the networking message processing. 2022-07-27 00:20:34 +02:00
Robinson cd65d16e14
Added support for a stacktrace that is empty 2022-06-24 13:13:28 +02:00
Robinson 20fcabaf8a
Fixed issue with RMI from a server -> client, where the RMI proxy objects were getting overridden by different connections because the RMI object cache was shared between all connections in the server. 2022-06-16 18:04:52 +02:00
Robinson 217d1c3b19
cleaned up stacktraces 2022-04-04 23:05:50 +02:00
Robinson 113de5d12e
cleanStackTraceInternal now cleans the stack track from all coroutine info for all dorkbox.network stack traces. 2022-04-04 16:32:19 +02:00
Robinson b0a29d6837
Code cleanup 2022-03-24 01:27:01 +01:00
Robinson 6a7fe7b1dc Added support for filtering aeron driver exceptions, `onError` listeners are now notified if there is an aeron driver error. 2021-07-26 20:40:43 +02:00
Robinson 632603c8c7 WIP RMI and message performance/ping testing 2021-07-07 21:32:36 +02:00
Robinson 33f3ca8ebc Supports the newest version of Aeron. Updated error log usage and notifications. Refactored RMI API (now RMI is accessible via '.rmi' calls). Updated unit tests. Added 'delete' to rmi methods (opposite of 'create'). 2021-07-07 00:04:47 +02:00
Robinson ef4b76d303 Changed scope for onMessage/disconnect/connect/etc callbacks from 'connection' -> 'this'. 2021-04-30 22:39:36 +02:00
Robinson a3b5cbcc89 WIP ping functionality 2021-04-29 10:25:25 +02:00
Robinson 37fbfe6ac1 cleaned up stacktrace, code polish 2021-04-29 01:47:25 +02:00
Robinson 9e0bc0da3e Fixed stackframe index 2021-04-27 13:31:54 +02:00
Robinson 09087b470a Stack frame cleanup removes ALL coroutines 2021-04-27 10:55:29 +02:00
Robinson 29b0ee8199 Fixed connection filter on connect 2021-04-27 10:28:18 +02:00
Robinson ea857da883 Better stack frame cleanup 2021-04-27 10:25:19 +02:00
Robinson bcbdaf167f code/library cleanup 2021-04-24 00:09:11 +02:00
nathan 62dff03df9 Fixed issue with multi-client handshakes. Made error messages cleaner 2020-09-29 16:05:17 +02:00
nathan 6dddc77fdc Internal stack traces should keep dorkbox network info 2020-09-04 10:19:53 +02:00
nathan 3ade7f229e Fixed threading issue with read/write global kryo 2020-09-01 14:39:18 +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 4299078919 Updated copyright notices in files 2020-08-19 15:25:59 +02:00