17 مستودعات
Decoupled messaging systems that route data based on the type of the message.
Distinct from Message Routing: Focuses on type-filtered in-memory pub-sub rather than network routing or broker infrastructure.
Explore 17 awesome GitHub repositories matching software engineering & architecture · Type-Based Message Routing. Refine with filters or upvote what's useful.
WeiXinMPSDK is a .NET software development kit designed to integrate WeChat services, official accounts, and mini programs into applications. It provides a multi-platform bot framework and a programmatic interface to interact with official, mini, and corporate accounts across the WeChat ecosystem. The project features interface-based platform abstraction and logic unification, allowing a single codebase to target multiple target platforms. It includes a messaging middleware for routing incoming requests and a distributed caching layer using providers like Redis or Memcached to synchronize ses
Implements a dispatch system that routes incoming requests to specific handlers based on the message type.
Zinx is a lightweight TCP server framework written in Go that provides a structured foundation for building scalable network applications. It combines a goroutine-pool worker model for concurrency control with message-ID-based routing, enabling efficient packet dispatching to registered handler functions. The framework distinguishes itself through its modular plugin architecture, which organizes server components like routers, connections, and message modules as interchangeable plugins for extensibility. It uses packet-header length prefixing for reliable TCP stream framing, assigns a dedicat
Routes incoming packets to handler functions based on a numeric message identifier in the packet header.
UniRx is a reactive programming library and event orchestration framework for the Unity engine. It implements observable sequences and functional operators to transform callbacks, coroutines, and engine events into cancellable data streams for unified asynchronous event handling. The library provides a reactive UI binding system that synchronizes data models with user interface elements to trigger automatic visual updates. It includes a type-based publication and subscription system to route messages between producers and consumers, decoupling internal game components. The framework covers a
Decouples components by routing messages between producers and consumers using a type-filtered publication and subscription system.
This project is an email alias management platform and masking proxy designed to protect user privacy. It functions as a gateway that creates unique email addresses to hide a user's primary mailbox, forwarding incoming messages while routing outbound replies through a reverse-proxy to maintain sender anonymity. The system distinguishes itself through advanced domain and privacy controls, including the ability to link personal domains via DNS for branded aliases and catch-all routing. It further secures communications via a PGP encryption gateway that encrypts forwarded email content using pub
Routes outbound email replies through a reverse-proxy alias server to hide the primary sender address.
noice.nvim is a Neovim UI enhancement plugin that replaces the editor's default command-line, notification, and popup-menu interfaces with a modern, customizable floating-window system. It provides a command-line popup menu, an LSP progress viewer, a message routing framework, and a notification display system with configurable layouts and severity-based styling. The plugin routes Neovim messages to different visual containers based on event type, kind, or content, and displays notifications with customizable layouts, icons, and severity-based styling in floating windows. It visualizes ongoin
Ships a message routing framework that redirects Neovim messages to different visual containers based on event type, kind, or content.
OpenWeChat هي مجموعة تطوير برمجيات (SDK) وغلاف API بلغة Go مصممة لدمج مراسلة WeChat وإدارة الحسابات في تطبيقات Go. تعمل كإطار عمل للبوتات ومكتبة مراسلة للتعامل مع أحداث المحادثة في الوقت الفعلي والتفاعلات البرمجية مع المنصة. يوفر المشروع نظاماً شاملاً لإدارة الجلسات، بما في ذلك مصادقة رمز QR واستمرارية ملفات تعريف الارتباط للجلسة بتنسيق JSON للحفاظ على الوصول عبر عمليات إعادة التشغيل. يتميز بتقديم قدرات لاعتراض وحفظ الرسائل التي يحاول المرسلون إلغاءها، بالإضافة إلى دعم إدارة جلسات الحسابات المتعددة. تغطي المكتبة مجموعة واسعة من المجالات الوظيفية، بما في ذلك تسليم الرسائل المؤتمتة ومنطق الرد، وإدارة جهات الاتصال والمجموعات، واسترجاع بيانات ملف تعريف المستخدم. كما تتضمن أدوات لمعالجة الوسائط، مثل تنزيل الملفات المشتركة وتحديد أنواع المحتوى من خلال تحليل ترويسة الملف. ينفذ الـ SDK نظام تسلسل رسائل قائماً على البرمجيات الوسيطة (middleware) ويستخدم اكتشاف الأحداث القائم على الاستطلاع (polling) لمزامنة البيانات الواردة.
Dispatches incoming messages to specific handlers based on content type or custom matching logic.
WeRoBot هو إطار عمل لتطوير روبوتات الدردشة ومكتبة تكامل API مصممة لبناء بوتات آلية وإدارة التفاعلات لحسابات WeChat الرسمية. يوفر بيئة منظمة لمعالجة مدخلات المستخدم وتقديم استجابات مبرمجة من خلال محرك توجيه رسائل مخصص. يتميز إطار العمل بمدير جلسة ذو حالة يحتفظ ببيانات المستخدم عبر التفاعلات باستخدام خلفيات تخزين قابلة للتوصيل. كما يتميز بنظام توجيه يحلل حمولات XML ويوجه حركة المرور إلى معالجات محددة بناءً على المحتوى أو الأحداث أو أنماط النص. تغطي المكتبة مجموعة واسعة من القدرات بما في ذلك إدارة أصول الوسائط، وإدارة ملف تعريف المستخدم والوسم، وتسليم رسائل القالب والبث. تتضمن بدائيات أمان للتحقق من توقيع الطلب وفك تشفير الرسائل، إلى جانب أدوات لإدارة القوائم المخصصة التفاعلية وإعادة توجيه خدمة العملاء. يوفر المشروع طبقة تكامل متوافقة مع WSGI، مما يسمح باستضافة منطق البوت على خوادم الويب القياسية أو تضمينه في أطر عمل الويب الحالية.
Directs incoming traffic to specific handlers based on the request type, such as text, image, or event.
Quasar هو إطار عمل للتزامن في JVM ينفذ نموذج الممثل (actor model) ومكتبة خيوط خفيفة الوزن. يوفر وحدات تنفيذ معزولة تتواصل عبر تمرير الرسائل غير المتزامن للقضاء على الحالة القابلة للتغيير المشتركة. يتميز المشروع بنظام ممثل موزع قادر على العمل عبر عقد عنقودية متعددة مع سجلات شفافة الموقع وترحيل حالة الممثل. يستخدم مجدول ألياف (fiber scheduler) يعتمد على سرقة العمل لإدارة ملايين الخيوط خفيفة الوزن، مما يسمح للمهام بالتعليق أثناء عمليات الإدخال/الإخراج غير المحظورة دون إيقاف خيوط النظام الأساسية. يشمل إطار العمل مجموعة واسعة من القدرات، بما في ذلك التسلسلات الهرمية الإشرافية للاسترداد المقاوم للأخطاء وقنوات الاتصال على طراز CSP لمزامنة تدفق البيانات. كما يوفر بدائيات لتنسيق المهام عبر العقود الآجلة (futures) ومتغيرات تدفق البيانات، بالإضافة إلى أدوات لمراقبة صحة الألياف واكتشاف التنفيذ الجامح. تم تنفيذ النظام بلغة Java.
Implements type-based filtering to retrieve messages of a specific class from an actor's mailbox.
Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the construction of resilient, concurrent applications that can communicate transparently with Erlang/OTP nodes. At its core, it provides an actor model with isolated lightweight processes, priority-ordered mailboxes, and a meta-process architecture that separates blocking I/O from sequential message handling to prevent actor freezing. The framework includes a Raft-inspired cluster consensus system for leader election and automatic failover, along with OTP-style supervision trees that organi
Ships a message routing system that dispatches to different callbacks based on the address type of the recipient.
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
Implements a handler-based routing system that directs incoming packets to specific logic blocks using unique message IDs.
swift-log هو واجهة برمجة تطبيقات تسجيل (Logging API) موحدة وطبقة تسجيل مجردة لتطبيقات ومكتبات Swift. يوفر واجهة موحدة لإصدار رسائل السجل، مما يفصل فعل تسجيل الأحداث عن تنفيذ التخزين أو العرض المحدد. يعمل النظام كواجهة خلفية للتسجيل، مما يسمح بتوجيه مخرجات السجل إلى وجهات خارجية مخصصة من خلال تنفيذ معالجات قابلة للتوصيل. يركز إطار العمل هذا على مراقبة تطبيقات Swift وتوحيد التسجيل، مما يضمن مجموعة متسقة من المتطلبات لتسجيل سلوك النظام عبر مشاريع مختلفة.
Routes log messages from a generic interface to specific backend implementations via registered handler functions.
Hydrogen is an interactive code execution environment and text editor integration that enables the execution of individual lines or blocks of code with immediate inline output. It functions as a polyglot interactive notebook and a remote kernel orchestrator, allowing users to run code via Jupyter kernels and render rich media, such as plots, images, and video, directly within the editor. The system distinguishes itself through remote kernel management, routing code execution to external containers or remote servers via network sockets. It maintains a stateful programming environment where lan
Routes execution requests and results between the editor and local or remote language environments.
Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events and diagnostic messages. It functions as a thread-safe logging library that synchronizes access across multiple concurrent execution threads to prevent data corruption during event recording. The framework features an asynchronous logger that processes messages on a background thread to minimize latency and prevent blocking the main application. It also acts as a log dispatcher, capable of routing data to local files, system syslog facilities, or remote network destinations for system
Dispatches log events from a generic API to specific handler implementations based on registration.
RISE is an interactive notebook presentation tool and slideshow manager designed to transform Jupyter and IPython notebooks into structured slide decks. It functions as an extension that allows a user to toggle between a standard editable notebook view and a full-screen slideshow format during live demonstrations. The system utilizes the Reveal.js framework to render notebook cells as formatted slides, mapping Jupyter metadata to determine slide breaks and fragment sequences. This integration enables the creation of computational slide decks where running Python code and interactive visualiza
Provides bidirectional message routing between the presentation interface and the IPython kernel for live code execution.
Zappa is a serverless Python framework and command-line tool used for packaging and deploying Python web applications to AWS Lambda. It functions as a serverless infrastructure automator that provisions API Gateways, IAM roles, and SSL certificates to run ASGI and WSGI applications as serverless functions. The tool distinguishes itself by providing a management CLI for executing remote administration scripts and management commands directly within the deployed environment. It includes specific mechanisms for serverless performance tuning, such as scheduling regular warm-up invocations to prev
Uses a single entry point function to dispatch incoming requests to specific application routes.
VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering and compute pipelines using the Vulkan API. It serves as a GPU programming course and a step-by-step guide for building high-performance graphics applications from scratch. The project provides detailed instruction on the full graphics pipeline, including the compilation of shaders to SPIR-V bytecode, the configuration of rasterization states, and the implementation of 3D graphics pipelines. It also covers general-purpose GPU compute programming, focusing on the execution of par
Provides functionality to redirect and filter validation layer output to custom debug functions.
kill-the-newsletter is a self-hosted email gateway and converter that transforms email newsletters into Atom feeds. It functions by capturing incoming mail via unique email addresses and republishing the content as structured web feeds. The system utilizes unique-address routing to identify and sort incoming messages into their respective destinations. It includes embedded control links within the generated feeds, allowing for the modification or removal of feed settings via HTTP requests. The project covers email-to-feed transformation and the generation of XML based on the Atom syndication
Assigns distinct email addresses to each feed to identify and sort incoming messages.