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*), int* (*)(), void* (*)(const char*))
: to execute the worker process
For more details, see the provided worker.cpp example.