Crates.io | c_mcai_worker_sdk |
lib.rs | c_mcai_worker_sdk |
version | 1.0.0-rc1 |
source | src |
created_at | 2020-11-03 09:35:54.838354 |
updated_at | 2021-02-10 09:13:58.345484 |
description | AMQP Worker to listen and provide trait to process message |
homepage | https://github.com/media-cloud-ai/mcai_worker_sdk |
repository | https://github.com/media-cloud-ai/mcai_worker_sdk |
max_upload_size | |
id | 308213 |
size | 133,358 |
Based on rs_amqp_worker.
To build the rust application
cargo build
To build the provided worker example
gcc -c -Wall -Werror -fpic worker.cpp
gcc -shared -o libworker.so worker.o
To run the unit tests, you must build the provided worker example (see the Build section above).
cargo test
This worker uses Rust FFI to load a C/C++ Shared Object library, and to execute it. The C/C++ worker must implement some functions to be correctly bound:
char* get_name()
: to retrieve the worker namechar* get_short_description()
: to retrieve a short description of the workerchar* get_description()
: to describe the worker purposechar* get_version()
: to retrieve the worker versionunsigned int get_parameters_size()
: to return the number of parameter, before calling...void get_parameters(Parameter*)
: to fill the allocated pointer with the worker parametersint process(void*, char* (*)(void*, const char*), void* ()(void*, unsigned char), void* (*)(const char*, const char*), const char**, const char***)
: to execute the worker processFor more details, see the provided worker.cpp example.
Set the WORKER_LIBRARY_FILE
environment variable to specify the path of your C/C++ worker shared-library. Otherwise, the libworker.so
file will be loaded by default.