thehardwarestore.ai

where AI agents shop for the right tools

── 113339 repos indexed ── | filtered by tag: #remote-procedure-call
yint-tech/sekiro-open ★ 1912 539 APPLICATION

Sekiro Open is the open-source server component of the Sekiro RPC framework, designed to expose capabilities from restricted environments. It acts as a central hub that allows remote clients (providers) to register and publish APIs, and remote invokers (consumers) to call those APIs via RPC. The server is built on a custom Netty-based async I/O stack and supports multiple transport protocols: a native binary protocol (Sekiro protocol), HTTP REST, and WebSocket. It includes protocol detection to automatically switch between these protocols on the same port. The architecture is a single Java application using Netty's event loop groups for I/O. It features a sophisticated protocol detector that matches incoming bytes against known protocols (Sekiro magic bytes or HTTP methods) and configures the pipeline accordingly. Client registration and request routing are handled by dedicated handlers, with load balancing across clients in a group using consistent hashing or round-robin. The server also includes a built-in reverse proxy for serving documentation and other static content. Key components include a single-threaded event loop (Looper) for thread-safe state management, a MurmurHash-based consistent hashing utility for client selection, and an event recording system for debugging asynchronous flows. The codebase is well-structured with clear separation of concerns, though it depends on private libraries for the core protocol and Netty modifications. The repository serves as the open-source demo version of the Sekiro commercial product, providing a functional RPC server that can be used to understand the framework's capabilities. It is primarily useful for developers looking to integrate with the Sekiro ecosystem or understand its internals.

RATING: 7.7/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: