#amqp #worker #microservices #mcai #process #sdk #traits

bin+lib c_mcai_worker_sdk

用于监听和处理消息的 AMQP 工作器

5 个版本

1.0.0-rc12021年2月10日
1.0.0-alpha62021年2月9日
1.0.0-alpha52021年2月5日
0.11.11 2021年1月28日
0.11.10 2020年11月3日

#1097 in 异步

MIT 许可协议

54KB
1.5K SLoC

Rust 1K SLoC // 0.0% comments C++ 200 SLoC // 0.3% comments

Rust AMQP 工作器的 C/C++ 绑定

基于 rs_amqp_worker

Build Status Coverage Status

构建

要构建 rust 应用程序

cargo build

要构建提供的工人示例

gcc -c -Wall -Werror -fpic worker.cpp
gcc -shared -o libworker.so worker.o

测试

要运行单元测试,您必须构建提供的工人示例(见上面的构建部分)。

cargo test

用法

此工作器使用 Rust FFI 加载 C/C++ 共享对象库,并执行它。C/C++ 工作器必须实现一些函数才能正确绑定

  • char* get_name():获取工作器名称
  • char* get_short_description():获取工作器的简短描述
  • char* get_description():描述工作器的目的
  • char* get_version():获取工作器版本
  • unsigned int get_parameters_size():在调用...之前返回参数数量
  • void get_parameters(Parameter*) :用工作器参数填充分配的指针
  • int process(void*, char* (*)(void*, const char*), void* ()(void*, unsigned char), void* (*)(const char*, const char*), const char**, const char***):执行工作进程

有关更多详细信息,请参阅提供的 worker.cpp 示例。

设置 WORKER_LIBRARY_FILE 环境变量以指定您的 C/C++ 工作共享库的路径。否则,默认将加载 libworker.so 文件。

依赖项

~23–42MB
~682K SLoC