2.2 KiB
2.2 KiB
Cworker mini framework
A minimalist kit for creating a network or local service using only C (replacing a previously written and lost one).
Purpose: to create system services
Available:
-
cflexer/cfparser - configuration file parsing
-
cllexer/clparser - parsing command line options
-
jlexer/jparser - json parsing (minimal key-value for now)
-
rcache - buffered reading from open descriptor
-
cworker - network service framework
Cworker mini framework
Минималисткий набор для создания сетевого или локального сервиса с использованием только C (взамен ранее написанного и утерянного).
Цель: создание системных сервисов, для которых использование иных языков нерационально или невозможно.
В наличии:
- cflexer/cfparser - разбор конфигурационого файла
- cllexer/clparser - разбор опций коммандной строки
- jlexer/jparser - разбор json описания (пока минимальные key-value)
- rcache - буферизованное чтение из открытого дескриптора
- cworker - каркас сетевого сервиса
В разработке.
Mini RPC example
$ echo '{"name":"john"}' | nc 127.0.0.1 9002
{"message":"hello, john!","error":false}
Log output example
./cworker --port=9002 --nofork=true
2023-08-19T11:32:10.370258433+EET debug: Init service
2023-08-19T11:32:10.370280138+EET debug: Configuration reading
2023-08-19T11:32:10.370319130+EET debug: Reading options
2023-08-19T11:32:10.370328274+EET debug: Listening port: 9002
2023-08-19T11:32:10.370332182+EET debug: Service building
2023-08-19T11:32:10.370359884+EET debug: Service running
2023-08-19T11:32:16.691927462+EET debug: Service 4699 forked
2023-08-19T11:32:16.692127033+EET warning: Cannot bind id
2023-08-19T11:32:16.692477102+EET debug: Handler 4699 done
2023-08-19T11:32:32.59611040+EET debug: Service 4704 forked
2023-08-19T11:32:32.59758420+EET warning: Cannot bind id
2023-08-19T11:32:32.60009124+EET debug: Handler 4704 done