# 📬 message-channel
This Rust library provides a simple, thread-safe channel implementation for message passing between
a single `Sender` and a single `Receiver`. The channel is non-blocking on the receiving end, making
it ideal for cases where you want to check for messages without waiting.
## ✨ Features
- **Single-Producer, Single-Consumer (SPSC)**: Only one `Sender` and one `Receiver` can interact with a channel.
- **Non-blocking Receiver**: The `try_recv` method returns immediately, either with a message (`Some`) or indicating that the queue is empty (`None`).
- **Thread-Safe**: Uses `Mutex` and `Arc` to safely share data between threads.
## 📦 Installation
To use `message-channel`, add it to your `Cargo.toml`:
```toml
[dependencies]
message-channel = "0.0.1"
```
## 🚀 Usage
Here's a simple example of how to use `message-channel`:
```rust
use message_channel::Channel;
fn main() {
let (sender, receiver) = Channel::create();
// Send a message
sender.send(42).unwrap();
// Receive a message
let message = receiver.recv().unwrap();
assert_eq!(message, 42);
}
```
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.