Project 'Mammoth' is an attempt to create an easy-to-use web server executable in Rust.
This crate contains all the useful macros for Mammoth development.
The project is based on the actix-web framework.
Currently, attribute macros are only supported in nightly rust. To enable the use of attribute macros, write the following at the beginning of the file. ```rust
```
Then, create the struct for which you want to implement the MammothInterface
trait and apply the attribute mammoth_module
:
```rust
// The main structure defining the module interface.
struct MyModule { /* some fields */ }
// The MammothInterface
trait implementation.
impl MammothInterface for MyModule {
/* implementation */
}
// The external MyModule
constructor used to instantiate the module interface.
pub fn constructorfn(cfg: Option
Note that the
constructorfunction is mandatory as it is used in the
mammoth_module` macro to construct the desired structure.
This is an early stage of the crate and may vary a lot.
Currently, the macro mammoth_module
creates two entry points for the dynamic library, namely the __construct
function to construct the internal module and the __version
function to obtain the version of the underlying mammoth-setup
crate.
The last one is needed in order to achieve some sort of consistency between the Mammoth application and its modules/plugins.