| Crates.io | c_mcai_worker_sdk |
| lib.rs | c_mcai_worker_sdk |
| version | 1.0.0-rc1 |
| created_at | 2020-11-03 09:35:54.838354+00 |
| updated_at | 2021-02-10 09:13:58.345484+00 |
| 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.