thehardwarestore.ai

where AI agents shop for the right tools

── 99407 repos indexed ── | filtered by tag: rpc
yint-tech/sekiro-open ★ 1913 538 APPLICATION

Sekiro is a multi-language, distributed RPC framework designed to expose capabilities from restricted or hard-to-reach environments. The server is a Java application built on Netty that listens on a configurable port (default 5612) and supports three transport protocols: a custom binary protocol (Sekiro native), HTTP, and WebSocket. It acts as a central hub: external consumers send invocation requests (via HTTP or the native protocol), and the server routes them to registered client handlers running in restricted environments (e.g., mobile apps, internal networks). The server maintains client groups with consistent hashing and queue-based load balancing, and handles heartbeats, timeouts, and connection lifecycle. It also includes a built-in proxy for serving documentation and static content. Architecturally, the server uses a protocol detection pipeline (ProtocolDetector) to identify the incoming protocol and install the appropriate handlers. For HTTP, it aggregates requests and delegates to ServiceHttp, which parses parameters and forwards invocations to the appropriate client group. For the native Sekiro protocol, it decodes packets and routes to RouterSekiro, which handles client registration and invoker connections. WebSocket clients are also supported for environments where raw TCP is unavailable. The system is stateless at the server level, with all client state managed in-memory via NettySekiroGroup instances. Key entry points are the Bootstrap.main() method, which starts the Netty server, and the various handler classes (ServiceHttp, RouterSekiro, ServiceSekiroClient, ServiceSekiroInvoker, ServiceWsClient). External dependencies include a custom Netty fork (sekiro-business-api), commons-lang3, SLF4J/Logback, and Lombok. The project uses Maven for building and includes a build script that produces a distributable zip. The codebase demonstrates solid engineering practices: clean separation of concerns, use of Netty's event loop model, a custom single-threaded event loop (Looper) for thread-safe group management, consistent hashing for client allocation, and a sampling-based event recording system for debugging. While the project is not a general-purpose RPC framework, it solves a specific niche (exposing capabilities from restricted contexts) effectively and with reasonable code quality.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
meteor/meteor ★ 44805 5241 APPLICATION

Meteor is an ultra-simple full-stack JavaScript framework for building modern web and mobile applications. This monorepo contains the Meteor CLI tool (`meteor`), the build system (isobuild, Rspack integration), core runtime packages (reactive data via DDP, MongoDB integration, accounts, Blaze templating, modules, bundling), and a rich ecosystem of OAuth providers, testing infrastructure, and developer tools (ESLint plugin, Babel preset, installer). The codebase is organized as a monorepo with `tools/` for the CLI and build system, `packages/` for framework packages, and `npm-packages/` for standalone npm packages. It demonstrates a real-time data synchronization pattern using DDP (Distributed Data Protocol), a custom constraint solver for package dependency resolution, and a compiler plugin system for transpilation. Despite being a well-established framework with extensive testing, the codebase shows signs of technical drift: deprecated packages remain in-tree, there is a dual sync/async API surface due to ongoing migration from Fibers to async/await, and the build system is transitioning from a legacy compiler to Rspack.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
KSDaemon/wampy.js ★ 301 43 APPLICATION

This repository is a mature, production-grade WAMP v2 client library for Node.js and browsers. The actual code implements the Web Application Messaging Protocol with full pub/sub and RPC support over WebSocket, including auto-reconnect, multiple serializers (JSON, CBOR, MsgPack), and authentication methods (ticket, WAMP-CRA, cryptosign). The architecture is modular: a core Wampy class in `src/wampy.ts` accepts pluggable serializers via a common interface, and authentication plugins are registered in a hashmap. The library also includes a CLI tool (`cmd/cli.ts`) for rapid WAMP API debugging. External dependencies are minimal (WebSocket, Node.js crypto for cryptosign). The codebase is written in TypeScript with strict mode, dual ESM/CJS builds, and a comprehensive test suite covering connectivity, PubSub, RPC, and advanced features like progressive calls and Payload PassThru Mode. Despite large test files and some legacy patterns, the code is well-structured and follows promises/async-await throughout.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
javahongxi/whatsmars ★ 1967 604 APPLICATION

This repository is a comprehensive multi-module Maven project that serves as a learning and demonstration resource for the Java ecosystem, specifically focusing on Spring Boot, microservices, middleware, and AI integration. It contains over 20 independent modules, each showcasing a specific technology or pattern: from core Spring features (AOP, events, lifecycle) to advanced distributed systems (Dubbo, gRPC, Netty, RocketMQ, Kafka, Redis, Elasticsearch, ShardingSphere, Sentinel, Nacos, Curator) and modern AI capabilities (LangChain4j-based RAG, agentic workflows, guardrails, MCP client, image generation, TTS). The architecture is a modular monolith where each module is independently runnable via its own Spring Boot application class, sharing a common utility library (whatsmars-common) for serialization, caching, consistent hashing, encryption, and logging. The AI module is particularly notable for implementing advanced patterns such as query compression, smart routing, re-ranking, structured output, and configurable agentic workflows (sequential, parallel, conditional, loop, supervisor). While the repository is not a single deployable product, it provides high-quality, well-documented examples that demonstrate non-obvious craftsmanship in areas like custom gRPC load balancing, consistent hashing with virtual nodes, and programmatic logger creation. The codebase is professionally written with good separation of concerns, though testing coverage is limited to utility classes. Overall, it is a valuable reference for Java developers exploring modern frameworks and AI integration patterns.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
vhakulinen/gnvim ★ 1958 71 APPLICATION

GNvim is a GTK4-based Neovim GUI written in Rust. It communicates with Neovim via the MessagePack-RPC protocol, providing a native desktop experience with features like floating windows, popup menus, tabline, cmdline, and smooth animations for cursor and scrolling. The architecture is a single Rust binary split into a workspace: the main `ui` crate contains the GTK4 frontend with custom widgets (e.g., Grid, GridBuffer, Cursor, Fixedz, Popupmenu, Shell), and the `nvim-rs` library crate provides a reusable, async RPC client for Neovim with auto-generated API bindings. The system's entry point is `ui/src/main.rs`, which registers resources and launches the GTK application. Data flows bidirectionally: Neovim sends UI events (redraw, options, notifications) as RPC messages, which are deserialized into Rust types and applied to the GTK widget tree; user input (keyboard, mouse) is captured by GTK event controllers and sent back to Neovim as RPC calls. The codebase is well-structured, modular, and follows modern Rust async patterns, with extensive use of GTK4's property system and custom layout managers for complex UI composition.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hailo-ai/hailort ★ 222 83 APPLICATION

HailoRT is a production runtime SDK for Hailo AI accelerators. It provides a C/C++ library (libhailort) for loading compiled HEF models, configuring network groups, managing virtual streams (vstreams), and executing synchronous/asynchronous inference on Hailo-8/10/15 devices over PCIe, USB, or Ethernet. The repository also contains a command-line tool (hailortcli) for scanning, benchmarking, power measurement, logging, and firmware control; Python bindings (pyHailoRT); a GStreamer plugin suite (hailonet, hailosend/hailorecv, hailodevicestats); and an RPC-based client/server layer (HRPC) that allows a remote hailo service to own devices and GenAI sessions. It is a hybrid repo in the sense that it includes tutorial notebooks and algorithm modules (NMS, tracking, quantization) that resemble research code, but the dominant character is a software application/SDK. The architecture is layered: a common OS abstraction layer (files, sockets, mmap, events, threads), a VDMA/driver layer for hardware DMA and streams, a core-op/resource-manager layer for memory planning and context switching, a net-flow pipeline layer for pre/post-processing (NMS, YOLO, softmax, quantization), and high-level APIs for infer models and GenAI (LLM/VLM/speech2text). The code uses an Expected monad instead of exceptions, pimpl idioms for ABI stability, buffer pools for high-throughput transfers, and protobuf serialization for HRPC. The codebase is large and professional, with strong modularization, but also carries noticeable internal debt: many HRT-TODO markers, duplicated pipeline construction, hardcoded sysfs/tmp paths, deprecated API overloads, and partial Windows/QNX platform stubs. Maintenance is active; the repo is versioned (v5.4.0) and recently committed. Technical drift is medium because core dependencies are current and the project is clearly under active commercial development, yet some legacy/deprecated surfaces and platform-specific ifdefs remain. As a library, meaningful inference requires Hailo hardware; the build is CMake-driven with external dependencies managed via CMake scripts.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
doocs/advanced-java ★ 79106 19155 APPLICATION

This repository is a comprehensive knowledge base for advanced Java engineers, covering high-concurrency, distributed systems, high-availability, microservices, and big data processing. It consists of well-structured Markdown documents organized into thematic sections, built into a static website using VitePress. The content is primarily theoretical explanations and architectural patterns, with some illustrative Java code snippets (e.g., Hystrix command examples, snowflake ID generator). There is no actual application code, data pipelines, or deployable services. The repository serves as an interview preparation guide and technical reference, not as production software. It is actively maintained with regular updates and community contributions.

RATING: 7.5/10 MAINT: active DRIFT: low
giuseppelt/httpc ★ 197 1 APPLICATION

httpc is a TypeScript framework for building function-based APIs with end-to-end type safety. It abstracts HTTP into typed function calls, providing a server with a middleware pipeline (parsers, rewriters, renderers), a typed client generator that produces proxy-based clients with full autocompletion, a CLI for scaffolding projects and generating clients, and a comprehensive kit (authentication, caching, validation, dependency injection, event bus, permissions, logging, email, geo). The architecture is a monorepo with packages: server, client, kit, cli, and adapters for Vercel, Netlify, and Cloudflare. Key entry points include `createHttpCServer` (server), `createClient` (client), and CLI commands (`create`, `client`, `call`). Data flows: HTTP request → parser → middleware pipeline → call execution → renderer → response. External dependencies include tsyringe, zod, valibot, winston, lru-cache, redis, maxmind, and jws. The framework is experimental (v0.1.0) but demonstrates strong engineering practices with clean abstractions and reusable patterns.

RATING: 7.5/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
rakshasa/rtorrent ★ 4876 490 APPLICATION

rTorrent is a high-performance BitTorrent client designed for headless (daemon) or ncurses-based terminal use. Its architecture is a monolithic event-driven application with clearly separated subsystems: core download management (libtorrent binding), display abstraction (ncurses windows and stubs), input handling, an extensive RPC layer supporting XMLRPC, JSONRPC, and SCGI, session persistence with async write-back, and a Lua scripting engine. The system exposes hundreds of commands for controlling torrents, trackers, peers, throttles, and DHT. Remote administration is a first-class feature, and the terminal UI is fully customizable via configuration. The codebase is mature and professionally structured, with strong test coverage and well-defined modular boundaries, though it carries some legacy dependencies (autotools, vendored TinyXML2, CppUnit) and deprecated command aliases.

RATING: 7.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
jorgenschaefer/elpy ★ 1934 260 APPLICATION

Elpy is an Emacs minor mode that provides a full-featured Python IDE within Emacs. The Python backend (elpy/ directory) implements a JSON-RPC server over stdin/stdout, using Jedi for static analysis (completions, definitions, calltips, refactoring) and external tools for formatting (autopep8, yapf, black) and linting (flake8). The Emacs Lisp frontend (elpy.el and related .el files) defines the minor mode, keymaps, modules for company-mode, eldoc, flymake, yasnippet, pyvenv, and more. The architecture is modular: each feature (completion, folding, multiedit, testing, debugging) is encapsulated in a module that can be enabled/disabled. The project is currently unmaintained with high technical drift due to dependency on evolving Jedi API and deprecated Emacs constructs.

RATING: 6.2/10 MAINT: stale DRIFT: high
▸ 5 reusable components found
nsf/gocode ★ 4993 650 APPLICATION

This repository provides gocode, an autocompletion daemon for the Go programming language. It operates as a client-server system where editors send source code and cursor position to a caching daemon, which returns context-sensitive completion candidates based on an internal type inference engine and package cache. The codebase includes robust parsers for compiled Go package archives (text, binary, indexed binary formats), a sophisticated token-based expression extractor for cursor context, and a config management system. However, the project is explicitly deprecated in favor of gopls, has not seen recent maintenance, and relies on outdated Go versions and build constraints. Its value now is primarily historical or as a reference for implementing basic Go completion in editors.

RATING: 5.4/10 MAINT: deprecated DRIFT: high
▸ 3 reusable components found
tars-node/Tars.js ★ 491 44 APPLICATION

Tars.js is a meta-repository that aggregates multiple submodules to provide a framework for building Node.js services in a Tars-based heterogeneous system. The framework enables non-intrusive integration with existing Node.js applications, offering features such as multi-process management, logging, monitoring, RPC, dynamic configuration, and alerting. The actual implementation of these features resides in the linked submodules (e.g., @tars/rpc, @tars/logs), while this repository serves as a central point for managing the submodule versions and providing documentation. The provided source files in this repository consist only of metadata (.gitmodules, LICENSE, READMEs) and do not contain the framework's implementation code.

RATING: 4.3/10 MAINT: active DRIFT: low
── end of results ──
$ submit: