| Crates.io | lazuli_derive |
| lib.rs | lazuli_derive |
| version | 0.1.1-rc.2 |
| created_at | 2024-05-19 01:41:21.052923+00 |
| updated_at | 2024-05-19 01:41:21.052923+00 |
| description | A socket library for consistent, quick, and easy data transfer |
| homepage | |
| repository | https://github.com/quackitsquinn/lazuli |
| max_upload_size | |
| id | 1244606 |
| size | 8,514 |
lazuli is a socket library that provides a simple interface for sending and receiving data over a network. It is designed to be easy to use, fast, and reliable. lazuli is built on top of the standard Rust std::net library, and provides a more user-friendly API for working with sockets.
Simple API for sending and receiving data
Support for TCP sockets
Non-blocking I/O
Cross-platform support
Standard error types for easy error handling
Lazuli uses a simple API that consists of a Client, Server, and Stream<T> struct. The Client struct is used to connect to a server and send data, the Server struct is used to listen for incoming connections, and the Stream<T> struct is used to receive data.
Here is an example of how to use lazuli to send and receive data:
let client = Client::connect(("127.0.0.1", 8080))
let stream = client.stream::<String>();
client.send("Hello, world!".to_string());
let data = stream.recv().unwrap();
println!("Received data: {}", data);
Contributions are welcome! If you would like to contribute to lazuli, please open an issue or submit a pull request. If you are submitting a pull request, please make sure to run a cargo fmt before submitting.
lazuli is licensed under the GNU GPL v3.0. See the LICENSE file for more information.