# lemunozm/message-io

Fast and easy-to-use event-driven network library.

Repository: https://github.com/lemunozm/message-io
Canonical: https://ross.abutalabs.com/products/message-io
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: network, network-programming, message-queue, asynchronous, event-driven, events, event-manager, tcp-server, udp-server, actor-model, actor-system, message-driven, sockets, tcp, udp, multicast, event-driven-architecture, transport, websocket, non-blocking
Last push: 2026-06-18T10:23:30+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 88, release rhythm 35, longevity 100
- inputs: {"age_days": 2252, "days_push": 76, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1197, forks 83 (observed 2026-08-28T04:03:57.460705+00:00)

## What it is
message-io is a Rust library that provides a fast, event-driven networking API over TCP, UDP, and WebSocket transports. It manages OS sockets, threads, and asynchrony internally, exposing a simple message/endpoint abstraction so the transport can be swapped in one line.

## Use cases
- build a TCP server that handles thousands of concurrent connections
- send and receive messages over UDP with multicast support
- write a WebSocket client or server with a simple event API
- swap transport protocols without rewriting application logic
- implement an actor-style message-driven application in Rust
- avoid manual thread and non-blocking socket management

## When to choose
- you want a simple, unified event-driven API over multiple transports in Rust
- you need scalable non-blocking socket handling without writing async runtime code yourself
- you want to switch between TCP, UDP, or WebSocket with minimal code changes

## When to avoid
- you need TLS-secured WebSockets, which are not yet supported
- you are already committed to an async ecosystem like Tokio and want deep integration with it
- you need application-level protocols, serialization, or higher-level RPC features

## Facets
- artifact type: library
- maturity: active
- function: networking, websocket, message-queue, concurrency
- domain: networking, developer-tools, microservices
- platform: rust, windows, cross-platform
- tags: event-driven, non-blocking-sockets, tcp, udp, multicast, actor-model, mio, linux, macos

## Member repositories
- lemunozm/message-io (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:57.460705+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:21:27.871922+00:00, confidence not recorded.
  - readme: https://github.com/lemunozm/message-io (fetched 2026-08-28T04:03:57.460705+00:00, sha 7c6e243f8629)
  - registry_crates: https://crates.io/api/v1/crates/message-io (fetched 2026-08-29T12:28:41.978853+00:00, sha d0fa3e9a8ce5)
- Data as of 2026-08-30T08:39:29.467469+00:00.
