GitHunt

Wrym

Wrym is a cross-platform, lightweight and flexible networking library, designed to simplify the development of networked applications. It provides a unified interface for various transport layers and networking protocols, making it easy to build scalable and adaptable systems

Features

  • Unified Transport Interface: Supports multiple transport layers through a common Transport trait, enabling seamless integration with different protocols
  • Extensible and Modular: Easily extend the library to support new protocols, features, or use cases, making it adaptable to a wide range of networking scenarios
  • Cross-Platform: Works seamlessly in both native and web environments (WASM - WIP)

Getting Started

Get wrym
cargo add wrym

Example: Basic server

use wrym::{server::{Server, ServerConfig}, transport::Transport};

fn main() {
    let transport = Transport::new("127.0.0.1:8080").unwrap();
    let mut server = Server::new(transport, ServerConfig::default());

    loop {
        server.poll();

        while let Some(event) = server.recv_event() {
            // handle events
        }
    }
}

See more examples in examples/

Contributing

If you have a feature request, bug report, or want to contribute code, please open an issue or submit a pull request

Contributions are much appreciated!

Languages

Rust100.0%

Contributors

GNU Affero General Public License v3.0
Created February 2, 2025
Updated February 25, 2026