Commit 907b0c2
Development/batch jsonrpc (#926)
* JsonRpcMuxer: initial version
* JsonRpcMuxer: only allow one websocket connection
* JsonRpcMuxer: adding a queue wait time timeout.
* JsonRpcMuxer: update module name to Plugin_JsonRpcMuxer
* JsonRpcMuxer: Use workerpool to invoke messages.
* JsonRpcMuxer: enhance error handling for inbound WebSocket messages
* JsonRpcMuxer: improve error handling and add batch size configuration
* JsonRpcMuxer: add timeout handling for batch processing and enhance logging
* JsonRpcMuxer: add max batch size and concurrent batch limit configuration
* JsonRpcMuxer: add configuration options for batch processing parameters
* JsonRpcMuxer: fix race condition
* JsonRpcMuxer: move common validation logic to one method
* JsonRpcMuxer: Adding python tests that I used
* JsonRpcMuxer: Add batch cleanup + added tests for it.
* JsonRpcMuxer: fast burst stress test.
* JsonRpcMuxer: split HTTP/WS tests.
* JsonRpcMuxer: make direct websocket to plugin optional
* JsonRpcMuxer: move some websocket only code within the #ifdef
* JsonRpcMuxer: refactor to support both parallel and sequential processing
* JsonRpcMuxer: Refactor Batch/Job design
* JsonRpcMuxer: Use a job only as a minion to to work
* JsonRpcMuxer: Limit logging
* JsonRpcMuxer: Add missing initialization
* JsonRpcMuxer: fix string consistency
* JsonRpcMuxer: Refactor Batch public interface
* JsonRpcMuxer: Update tests
* JsonRpcMuxer: Add readme
* JsonRpcMuxer: Remove WebSocket connection support
* JsonRpcMuxer: Update default max wait time for batch completion to Core::infinite
* JsonRpcMuxer: Optimize batch processing by removing response lock and introducing finishing state
* JsonRpcMuxer: Added explicit memory ordering to allow better CPU optimizations
* JsonRpcMuxer: Replace std::map with std::unordered_map to improve performance
* JsonRpcMuxer: Implement lock-free batch release
* JsonRpcMuxer: Fixed race condition in batch slot claiming
* Update Readme.md
* JsonRpcMuxer: Add lost Lock
* JsonRpcMuxer: Remove atomics, just use good ols fashion locks
* JsonRpcMuxer: Update error codes for batch processing
* JsonRpcMuxer: Enhance stress tests with timing metrics and error handling
* JsonRpcMuxer: Refactor batch processing.
* JsonRpcMuxer: Increase max batch size and concurrent batches in test configuration
* JsonRpcMuxer: Fix Sequential batch handling
* JsonRpcMuxer: Update README
* JsonRpcMuxer: Fix typo in test method name and enhance error handling for invalid requests
---------
Co-authored-by: Pierre Wielders <[email protected]>1 parent 6b027f8 commit 907b0c2
File tree
12 files changed
+3213
-0
lines changed- JsonRpcMuxer
- tests
12 files changed
+3213
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
158 | 159 | | |
159 | 160 | | |
160 | 161 | | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
161 | 166 | | |
162 | 167 | | |
163 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
0 commit comments