Commit graph

40 commits

Author SHA1 Message Date
Florian Lüke
1275008864 begin work on a root rntuple writer 2024-12-29 18:58:41 +01:00
Florian Lüke
92ec0eaf05 fixes and start mana_nng_client 2024-12-28 19:18:18 +01:00
Florian Lüke
80ab196d90 update mesytec-mvlc, cmake fixes 2024-12-28 17:54:15 +01:00
Florian Lüke
b40d60e015 add a NngServerSink and somehow get the plugin to link
Things are messy, doesn't link with clang in vscode, works in the shell.
2024-12-28 07:06:05 +01:00
Florian Lüke
a9bfcf151c mana: add cpp plugin interface and test plugin 2024-12-27 18:49:19 +01:00
Florian Lüke
c82671490a better mana c api entry point definition 2024-12-27 17:34:02 +01:00
Florian Lüke
ead9c0ee2e fixes and refactorings 2024-12-26 18:42:25 +01:00
Florian Lüke
13c73cfdfc mana: add a python plugin 2024-12-26 03:08:26 +01:00
Florian Lüke
6f7102549e mana: add a root-histogram plugin and improve ManaCountingSink
Currently only histograms the hit counts per input array element, not
the actual data.

The counting plugin now also tracks and prints 'eventArrayIndexHits'.
2024-12-26 01:46:58 +01:00
Florian Lüke
edf0d291a9 mana: add c test plugin and make plugin loading work 2024-12-26 00:32:56 +01:00
Florian Lüke
587bf0e6cb first working mana_auto_replay
ManaCountingSink counts match the mvme analysis counts for the single event
is690-9Li_3H_run094 run. ~280 MB/s in release mode.
2024-12-25 23:37:37 +01:00
Florian Lüke
c8be12c1b6 more work on mana, commiting state 2024-12-25 05:47:38 +01:00
Florian Lüke
6d93197f86 mana::Arena: fixes and segment limit and tests 2024-12-25 03:18:39 +01:00
Florian Lüke
46efb1cff7 move arena into internal header, add mana gtest 2024-12-23 12:59:57 +01:00
Florian Lüke
e86303f7eb cmake: cleanup 2024-12-21 01:30:00 +01:00
Florian Lüke
2c75142cb8 move dev tools into tools/ 2024-12-17 18:19:31 +01:00
Florian Lüke
17787b8ab1 work on rpc 2024-12-12 00:31:03 +01:00
Florian Lüke
bf03a19820 add prototype nng reqrep based blocking protobuf rpc server and client
The code requires cc_generic_services = true in the service proto files.
nng_msg payload is:
  request format : size:u32 + serialized MethodCall
  response format: size:u32 + serialized MethodCallResponse

Dispatch is done using descriptors, message prototypes and protobuf.Any.
Error handling is missing apart from error logging.
2024-12-08 21:01:54 +01:00
Florian Lüke
7ab1af93e3 play with protos and service stub descriptors 2024-12-08 13:49:46 +01:00
Florian Lüke
43c18dc243 cleanup 2024-12-07 21:54:46 +01:00
Florian Lüke
b0ca75960b add argh fromhttps://github.com/aardvarkk/argh 2024-12-07 20:35:29 +01:00
Florian Lüke
25b018b1bb add a barebones nng async abstraction 2024-12-07 18:33:35 +01:00
Florian Lüke
4e4606c454 hide spdlog from mnode_nng.h 2024-12-07 17:36:59 +01:00
Florian Lüke
d3a5f2c75c refactor namespaces 2024-12-07 16:48:24 +01:00
Florian Lüke
ce338ce680 Merge branch 'main' into pipeline 2024-12-07 16:15:39 +01:00
Florian Lüke
07919d6795 async ping client and server 2024-12-07 16:12:40 +01:00
Florian Lüke
b18a9361ab save 2024-12-07 03:55:45 +01:00
Florian Lüke
8ac61415ef cleanup 2024-11-23 12:08:52 +01:00
Florian Lüke
8f8b463a14 move things around, only add spdlog if it's not present yet 2024-11-23 11:00:28 +01:00
Florian Lüke
e25f76eebf refactor things, build mesytec-node-nng lib 2024-11-23 03:05:05 +01:00
Florian Lüke
567a999fdc add python fastapi demo; .gitignore things 2024-11-23 02:38:13 +01:00
Florian Lüke
78cab52b91 add sync reqrep ping pong 2024-11-21 22:23:52 +01:00
Florian Lüke
f017d2406e add updated mesy_nng from mvme, fix things, add mnode_proto_test1 2024-11-21 21:38:20 +01:00
Florian Lüke
8a2c2aa7fd add pub sub test programs
Lesson learned: subscription working for empty messages can be done, but
needs nng_socket_set() instead of nng_socket_set_string().
2024-05-07 14:59:06 +02:00
Florian Lüke
68ce15fedf add a push-pull test program
No buffer loss seen, rate is ~40GB/s starting at around 4 producer threads.
2023-11-22 20:19:46 +01:00
Florian Lüke
6c450d3a47 testing piplines 2023-07-16 06:35:09 +02:00
Florian Lüke
ae815d4adb untested replay over nng code 2023-07-02 23:33:22 +02:00
Florian Lüke
b5c5450877 separate program for inproc producer/consumer and cleanup 2023-06-28 11:37:52 +02:00
Florian Lüke
74d3b947a3 working pair producer and consumer 2023-06-27 23:17:56 +02:00
Florian Lüke
881dc11cd1 cmake scaffolding and inproc pair test program 2023-06-27 20:19:58 +02:00