C/C++ binding for Rust AMQP Worker
Based on rs_amqp_worker.
Build
To build the rust application
To build the provided worker example
Test
To run the unit tests, you must build the provided worker example (see the Build section above).
Usage
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 process
For 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.