awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
davyxu avatar

davyxu/cellnet

0
View on GitHub↗
4,061 stars·875 forks·Go·MIT·20 views

Cellnet

Cellnet is a Go networking framework designed for building distributed systems and peer-to-peer networks. It provides a multi-protocol transport layer that standardizes message exchange across TCP, UDP, and WebSockets, utilizing a binary message codec system to map message types to unique identifiers for network transmission.

The framework is distinguished by its remote procedure call library, which enables the execution of functions on remote peers using synchronous or asynchronous request patterns. It further differentiates itself with an asynchronous event dispatcher that processes network callbacks through a sequential execution model to manage concurrency and thread safety.

Its broader capabilities include custom network protocol development through pluggable serialization codecs, automated peer connection management with session tracking and reconnection logic, and a handler-based routing system for directing network traffic. It also incorporates tools for monitoring peer health, logging network traffic, and serving files over HTTP.

Features

  • Peer Connection Management - Manages the full lifecycle of network connections across multiple protocols with automatic reconnection and graceful restarts.
  • Peer-to-Peer Networking Libraries - Implements a comprehensive networking library for managing bidirectional peer-to-peer connections across TCP, UDP, and WebSockets.
  • Binary Serialization Codecs - Provides a pluggable system of binary serialization codecs for translating structured messages into raw byte arrays for network transmission.
  • Protocol Serialization Encoders - Supports the use of multiple encoding schemes within a single session for network message serialization.
  • Data Serialization Codecs - Implements a pluggable codec system allowing multiple serialization formats to be used for different peers simultaneously.
  • Message Queues - Assigns incoming socket messages to specific queues to control concurrency and distribute logic across multiple threads.
  • Binary Data Encoding - Transforms data into compact binary formats for network transmission using a flexible encoder system.
  • Custom Network Protocols - Provides a framework for defining specialized packet formats and serialization codecs for custom communication rules.
  • Distributed Systems and Peer-to-Peer - Provides a framework for decentralized data exchange and coordination between peers in a distributed system.
  • General Network Listeners - Accepts multiple network connections from remote peers on a specified address using a dedicated listener.
  • In-Process Message Routing - Routes incoming data through in-process execution models to handle concurrency and shared state without manual locking.
  • Message Encoders and Decoders - Provides a system to define and register new data serialization formats for network communication.
  • Message Routing - Implements a handler-based system for directing network packets across diverse communication channels.
  • Multi-Protocol Connection Managers - Maintains network sessions with automatic reconnection and timeout logic across TCP, UDP, and WebSockets using a unified interface.
  • Network Message Transmission - Provides mechanisms to transmit data packets to connected peers using a codec for structured message encoding.
  • Networking Frameworks - Provides a unified Go-based toolkit for building distributed systems using multiple transport protocols.
  • Multi-Protocol Transport Abstraction - Standardizes message exchange through an abstraction layer that works across TCP, UDP, and WebSockets.
  • Outbound Connection Dialing - Provides primitives for initiating outbound connections to remote peers across various transport protocols.
  • Peer-to-Peer Messaging - Enables direct communication and broadcasting of data packets between connected peers in a P2P network.
  • Remote Procedure Call Frameworks - Provides a high-performance binary RPC framework for transmitting requests and receiving responses across the network.
  • Remote Procedure Calls - Provides a remote procedure call mechanism for invoking functions on remote peers using a standardized binary protocol.
  • Synchronous and Asynchronous RPC - Enables remote function execution using both synchronous requests for immediate retrieval and asynchronous calls for non-blocking logic.
  • Asynchronous Event Queueing - Dispatches network events and callbacks through a centralized queue to maintain a logical execution order.
  • Queue-Based Dispatchers - Ships an asynchronous event dispatcher that processes network callbacks through a sequential queue to ensure thread safety.
  • Data Serialization Formats - Serializes and deserializes messages using binary or text formats to ensure consistent data exchange.
  • Transport-Agnostic Interfaces - Provides a transport-agnostic interface that wraps TCP, UDP, and WebSockets into a unified abstraction for message exchange.
  • Handler-Based Routing - Implements a handler-based routing system that directs incoming packets to specific logic blocks using unique message IDs.
  • Binary Packet Parsing - Implements binary packet parsing using length-prefix and message identifiers to resolve fragmentation and identify payload types.
  • Messaging Queues - Implements thread-safe message queues that block receiving processes until data is available.
  • Asynchronous Task Schedulers - Manages timed events and asynchronous logic through a centralized event queue and dispatcher.
  • Automatic Reconnection - Automatically restores dropped or failed network connections after a configurable duration.
  • Websocket Connection Managers - Provides a WebSocket connection manager for peer-to-peer networking with session access, upgrades, and automated reconnection.
  • Messaging Protocol Translation - Converts diverse wire-format encodings into unified internal structures to simplify communication with different servers.
  • Custom Transport Protocols - Allows the implementation of custom transport protocols by wrapping third-party libraries into a unified interface.
  • Direct UDP Peer Links - Establishes direct peer-to-peer network sessions over UDP with time-to-live settings to control session lifespans.
  • Concurrency-Managed Message Queues - Routes incoming messages through asynchronous or concurrent queues to manage state and locking efficiently.
  • Peer Connection Managers - Manages TCP peer connection pools with configurable buffer sizes and timeout logic to facilitate stable communication.
  • Session Lifecycle Tracking - Monitors connection events like initialization and closure to react to changes in peer state.
  • Packet Processing Frameworks - Offers a programmable framework for defining custom packet processing and protocol encapsulation between business and transport layers.
  • Reconnection Scheduling - Controls the interval at which a disconnected peer attempts to re-establish a network link.
  • Transport Layer Customizations - Allows customization of peers and codecs to integrate non-standard transport layers or specialized data formats.
  • Connection Timeout Management - Sets read and write deadlines on sockets to ensure stale connections are closed and resources are recovered.
  • Asynchronous Event Dispatchers - Processes network callbacks through a sequential execution model and task queue to ensure thread safety and concurrency.
  • Asynchronous Task Processing - Queues function callbacks for execution in background workers to maintain system responsiveness.
  • Message Type Registrations - Associates message types with unique IDs and codecs to enable consistent serialization and routing across the network.
  • Network Traffic Logging - Captures and records individual fields of sent and received messages for debugging and auditing.
  • Message Identifier Generators - Provides tools to generate source files that bind messages to a codec system for automatic network recognition.
  • Endpoint Health Monitoring - Verifies if network endpoints are ready for communication and captures IO-level errors to maintain stability.
  • Network Lifecycle Events - Processes internal system notifications like connection successes and session closures using a unified message mechanism.
  • Game Server Frameworks - Event-driven game server framework for Go.

Star history

Star history chart for davyxu/cellnetStar history chart for davyxu/cellnet

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does davyxu/cellnet do?

Cellnet is a Go networking framework designed for building distributed systems and peer-to-peer networks. It provides a multi-protocol transport layer that standardizes message exchange across TCP, UDP, and WebSockets, utilizing a binary message codec system to map message types to unique identifiers for network transmission.

What are the main features of davyxu/cellnet?

The main features of davyxu/cellnet are: Peer Connection Management, Peer-to-Peer Networking Libraries, Binary Serialization Codecs, Protocol Serialization Encoders, Data Serialization Codecs, Message Queues, Binary Data Encoding, Custom Network Protocols.

Which projects share features with davyxu/cellnet?

Projects with overlapping indexed features include: grpc/grpc-go — grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for… perlin-network/noise — Noise is a peer-to-peer networking stack written in Go designed for building decentralized systems. It provides a… socketcluster/socketcluster — Highly scalable realtime pub/sub and RPC framework. name5566/leaf — Leaf is a game server framework written in Go designed for building multiplayer game backends. It provides a modular… open62541/open62541 — open62541 is an open-source implementation of the OPC Unified Architecture standard, providing a complete stack for… bluesky-social/atproto — atproto is a decentralized social networking protocol implementation and a schema-driven API framework. It provides…

Projects sharing features with Cellnet

These projects share indexed features with Cellnet. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • grpc/grpc-gogrpc avatar

    grpc/grpc-go

    22,962View on GitHub↗

    grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to

    Godogs-over-catsgiant-robotsgo
    View on GitHub↗22,962
  • perlin-network/noiseperlin-network avatar

    perlin-network/noise

    1,826View on GitHub↗

    Noise is a peer-to-peer networking stack written in Go designed for building decentralized systems. It provides a framework for managing node lifecycles, establishing encrypted communication channels, and facilitating direct data exchange between distributed nodes without reliance on central authorities. The library distinguishes itself through a modular architecture that allows developers to stack custom communication layers, enabling the creation of specialized network protocols. It incorporates a decentralized key-value lookup system for peer discovery and routing, alongside cryptographic

    Gocryptographygolangnetwork
    View on GitHub↗1,826
  • name5566/leafname5566 avatar

    name5566/leaf

    5,513View on GitHub↗

    Leaf is a game server framework written in Go designed for building multiplayer game backends. It provides a modular backend architecture that organizes server logic into independent modules and includes a concurrent task scheduler for managing ordered, delayed, or recurring functions. The framework features a TCP and WebSocket server that manages simultaneous connections through a single interface. It incorporates a message router capable of decoding Protobuf and JSON data to map incoming network packets to specific internal server modules. The system includes capabilities for multi-protoco

    Go
    View on GitHub↗5,513
  • socketcluster/socketclusterSocketCluster avatar

    SocketCluster/socketcluster

    6,197View on GitHub↗

    Highly scalable realtime pub/sub and RPC framework

    JavaScriptdockerframeworkjavascript
    View on GitHub↗6,197
  • Compare all 30 related projects→