# rapace-macros

[![crates.io](https://img.shields.io/crates/v/rapace-macros.svg)](https://crates.io/crates/rapace-macros)
[![documentation](https://docs.rs/rapace-macros/badge.svg)](https://docs.rs/rapace-macros)
[![MIT/Apache-2.0 licensed](https://img.shields.io/crates/l/rapace-macros.svg)](./LICENSE)

Procedural macros for rapace RPC framework.

Provides the `#[rapace::service]` macro for:

- **Code generation**: Automatically generates client and server types from trait definitions
- **Type-safe RPC**: Compile-time verification of RPC method signatures
- **Streaming support**: Seamless async stream handling
- **Zero boilerplate**: Write your service interface once, get everything else

This crate is used internally by rapace. Most users will interact through the re-export in the main `rapace` crate.

## License

Licensed under either of:

- Apache License, Version 2.0 ([LICENSE-APACHE](https://github.com/bearcove/rapace/blob/main/LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT license ([LICENSE-MIT](https://github.com/bearcove/rapace/blob/main/LICENSE-MIT) or <http://opensource.org/licenses/MIT>)

at your option.
