Commit graph

49 commits

Author SHA1 Message Date
Florian Lüke
e86303f7eb cmake: cleanup 2024-12-21 01:30:00 +01:00
Florian Lüke
728bad6841 possible low level mvlc proto interface 2024-12-17 23:27:48 +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
fea9cd07b1 port ping server to async work 2024-12-07 20:36:37 +01:00
Florian Lüke
c729069c2b ping client: use async dial and a longer timeout 2024-12-07 20:35:51 +01:00
Florian Lüke
b0ca75960b add argh fromhttps://github.com/aardvarkk/argh 2024-12-07 20:35:29 +01:00
Florian Lüke
1d5a957043 port mnode_proto_ping_client to the new async work 2024-12-07 18:34:06 +01:00
Florian Lüke
25b018b1bb add a barebones nng async abstraction 2024-12-07 18:33:35 +01:00
Florian Lüke
4c940d4e0a nng: move code into impl 2024-12-07 18:33:15 +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
7ed57acdee node_nng: hide some nng details 2024-11-28 02:52:15 +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
8497488cb3 better logging 2024-11-22 13:05:49 +01:00
Florian Lüke
a0857b203b mesy_nng: pass the last operations result value to retry_predicate 2024-11-22 12:11:43 +01:00
Florian Lüke
9e95897283 tweak ping pong 2024-11-21 23:00: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
0cf71236e1 update mesytec-mvlc 2024-11-21 19:38:17 +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
a423e602aa push pull: can now pass ProducerCount on the command line 2024-05-07 14:56:25 +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
3d53c99114 cleanup mvlc_nng_replay 2023-11-22 20:18:41 +01:00
Florian Lüke
ea2b18ce83 try out nng_pipe_notify 2023-07-16 06:35:26 +02:00
Florian Lüke
6c450d3a47 testing piplines 2023-07-16 06:35:09 +02:00
Florian Lüke
ee5b451434 bit of refactoring and more error handling 2023-07-13 12:24:30 +02:00
Florian Lüke
31df88ff23 fix analysis side message processing 2023-07-13 09:48:52 +02:00
Florian Lüke
0bf9947a29 better allocations but broken analysis messages 2023-07-12 20:41:09 +02:00
Florian Lüke
2db593069d cleanup the parser and message flushing code 2023-07-12 16:38:27 +02:00
Florian Lüke
72cd10ba46 improve parser speed by flushing the output message before a realloc happens 2023-07-11 21:42:02 +02:00
Florian Lüke
c258a2c8c0 measure throughput 2023-07-11 20:53:37 +02:00
Florian Lüke
20a4323fa2 make sure the last output message is sent 2023-07-11 20:30:46 +02:00
Florian Lüke
4f8da45a67 improve speed by allocating less; still slow 2023-07-04 00:47:19 +02:00
Florian Lüke
54ab64668d init duration timers 2023-07-03 21:32:47 +02:00
Florian Lüke
32aa3d6d08 slow replay 2023-07-03 20:00:19 +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