message-dispatch is a Rust crate that provides dynamic dispatch support for messages of different types and sizes sent from one thread to another (or back to the same thread) without the need to use trait objects.
Internally it uses a lock-free, multi-producer, single consumer Magic (or Virtual) Ring Buffer.
As such, the only cost involved in dispatch is the cost of an indirect call.
It could even be used to send messages across POSIX message queues if so desired.
The license for this project is MIT.