17 repository-uri
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 este un SDK și API wrapper pentru limbajul Go, conceput pentru integrarea mesageriei și gestionării conturilor WeChat în aplicațiile Go. Servește ca un framework de boți și bibliotecă de mesagerie pentru gestionarea evenimentelor de chat în timp real și a interacțiunilor programatice cu platforma. Proiectul oferă un sistem cuprinzător pentru gestionarea sesiunilor, inclusiv autentificarea prin cod QR și persistența cookie-urilor de sesiune în format JSON pentru a menține accesul după restartări. Se distinge prin oferirea de capabilități pentru a intercepta și păstra mesajele pe care expeditorii încearcă să le revoce, precum și suport pentru gestionarea sesiunilor multi-cont. Biblioteca acoperă o gamă largă de arii funcționale, inclusiv livrarea automatizată a mesajelor și logica de răspuns, gestionarea contactelor și a grupurilor și preluarea datelor de profil ale utilizatorilor. Include, de asemenea, instrumente pentru gestionarea media, cum ar fi descărcarea fișierelor partajate și identificarea tipurilor de conținut prin analiza header-ului fișierului. SDK-ul implementează un sistem de înlănțuire a mesajelor bazat pe middleware și utilizează detectarea evenimentelor bazată pe polling pentru a sincroniza datele primite.
Dispatches incoming messages to specific handlers based on content type or custom matching logic.
WeRoBot is a chatbot development framework and API integration library designed for building automated bots and managing interactions for WeChat official accounts. It provides a structured environment for processing user inputs and delivering programmed responses through a dedicated message routing engine. The framework distinguishes itself with a stateful session manager that persists user data across interactions using pluggable storage backends. It also features a routing system that parses XML payloads and directs traffic to specific handlers based on content, events, or text patterns. T
Directs incoming traffic to specific handlers based on the request type, such as text, image, or event.
Quasar este un framework de concurență pentru JVM care implementează modelul actor și o bibliotecă de thread-uri lightweight. Oferă unități de execuție izolate care comunică prin mesagerie asincronă pentru a elimina starea mutabilă partajată. Proiectul se distinge printr-un sistem de actori distribuit capabil să opereze pe mai multe noduri de cluster cu registre transparente din punct de vedere al locației și migrarea stării actorilor. Utilizează un scheduler de tip „work-stealing fiber” pentru a gestiona milioane de thread-uri lightweight, permițând sarcinilor să se suspende în timpul operațiunilor I/O non-blocante fără a bloca thread-urile de sistem subiacente. Framework-ul cuprinde un set larg de capabilități, inclusiv ierarhii de supraveghere pentru recuperare tolerantă la erori și canale de comunicare de tip CSP pentru sincronizarea fluxului de date. De asemenea, oferă primitive pentru coordonarea sarcinilor prin futures și variabile de flux de date, precum și instrumente pentru monitorizarea stării fibrelor și detectarea execuțiilor necontrolate. Sistemul este implementat în 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 este un framework de rețea Go conceput pentru construirea de sisteme distribuite și rețele peer-to-peer. Oferă un strat de transport multi-protocol care standardizează schimbul de mesaje prin TCP, UDP și WebSockets, utilizând un sistem de codec de mesaje binare pentru a mapa tipurile de mesaje la identificatori unici pentru transmisia în rețea. Framework-ul se distinge prin biblioteca sa de apeluri de proceduri la distanță (RPC), care permite execuția funcțiilor pe peer-uri la distanță folosind modele de cerere sincrone sau asincrone. Se diferențiază în continuare printr-un dispecer de evenimente asincron care procesează callback-urile de rețea printr-un model de execuție secvențial pentru a gestiona concurența și siguranța firelor de execuție. Capabilitățile sale mai largi includ dezvoltarea de protocoale de rețea personalizate prin codec-uri de serializare pluggable, gestionarea automată a conexiunilor peer cu urmărirea sesiunilor și logica de reconectare, precum și un sistem de rutare bazat pe handler pentru direcționarea traficului de rețea. De asemenea, încorporează instrumente pentru monitorizarea stării peer-urilor, logarea traficului de rețea și servirea fișierelor prin HTTP.
Implements a handler-based routing system that directs incoming packets to specific logic blocks using unique message IDs.
swift-log este un API de logare standardizat și un strat abstract de logare pentru aplicații și biblioteci Swift. Oferă o interfață unificată pentru emiterea mesajelor de log, decuplând actul înregistrării evenimentelor de implementarea specifică de stocare sau afișare. Sistemul funcționează ca o interfață de backend pentru logare, permițând rutarea ieșirii log-urilor către destinații terțe personalizate prin implementarea de handlere pluggable. Acest framework se concentrează pe observabilitatea aplicațiilor Swift și standardizarea logării, asigurând un set consistent de cerințe pentru înregistrarea comportamentului sistemului în diferite proiecte.
Routes log messages from a generic interface to specific backend implementations via registered handler functions.
Hydrogen este un mediu interactiv de execuție a codului și o integrare pentru editorul de text care permite execuția liniilor sau blocurilor individuale de cod cu ieșire imediată inline. Acesta funcționează ca un notebook interactiv poliglot și un orchestrator de kernel-uri la distanță, permițând utilizatorilor să ruleze cod prin kernel-uri Jupyter și să randeze conținut media bogat, cum ar fi grafice, imagini și video, direct în editor. Sistemul se distinge prin gestionarea kernel-urilor la distanță, rutând execuția codului către containere externe sau servere remote prin socket-uri de rețea. Menține un mediu de programare cu stare (stateful) unde namespace-urile limbajelor persistă în mai multe fișiere, permițând urmărirea stării variabilelor și completarea codului conștientă de kernel, bazată pe runtime-ul activ. Platforma acoperă, de asemenea, controlul ciclului de viață al kernel-ului, inclusiv capacitatea de a întrerupe sau reporni mediile. Include un sistem de plugin-uri pentru extinderea funcționalităților limbajului și a interfeței utilizatorului.
Routes execution requests and results between the editor and local or remote language environments.
Easyloggingpp este un framework de logging C++ de tip header-only și un instrument de diagnosticare conceput pentru înregistrarea evenimentelor de sistem și a mesajelor de diagnosticare. Acesta funcționează ca o bibliotecă de logging thread-safe care sincronizează accesul între mai multe thread-uri de execuție concurente pentru a preveni coruperea datelor în timpul înregistrării evenimentelor. Framework-ul dispune de un logger asincron care procesează mesajele pe un thread de fundal pentru a minimiza latența și a preveni blocarea aplicației principale. Acesta acționează, de asemenea, ca un dispecer de log-uri, capabil să direcționeze datele către fișiere locale, facilități de sistem syslog sau destinații de rețea la distanță pentru monitorizarea sistemului. Setul de instrumente acoperă o gamă largă de capabilități de observabilitate, inclusiv capturarea stack trace-ului, gestionarea log-urilor de crash și urmărirea timpului de execuție pentru profilarea performanței. Oferă utilitare de gestionare pentru rotația fișierelor bazată pe dimensiune, layout-uri de log personalizate și filtrare pe niveluri de severitate, alături de suport pentru serializarea tipurilor complexe și a obiectelor definite de utilizator.
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.