signal-system

Coordinate decoupled events across objects via signal emission and slot registration.

8|3|Updated Sep 29, 2021
One-click install
npx skills add https://github.com/gesslar/oxidus-mudlib --skill signal-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: signal-system
Source: https://github.com/gesslar/oxidus-mudlib/tree/main/.claude/skills/signal-system
Command: npx skills add https://github.com/gesslar/oxidus-mudlib --skill signal-system

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Decoupled event handling across objects by providing a global signal system that lets producers emit signals and consumers respond via registered slots.

Core Features & Use Cases

  • Publish/subscribe style event routing across all objects
  • Durable signal slots via SWAP_D persistence
  • Safe dispatch with error isolation and logging

Quick Start

Register a handler with slot(), then emit a signal with emit() to observe dispatch to all registered observers.

Frequently Asked Questions about signal-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decouple event handling across objects in LPC?

Decouple event handling by using a global signal system that lets producers emit signals and consumers respond via registered slots. This pubsub style routing prevents direct object dependencies across your codebase.

How does the signal daemon handle dispatch errors and persistence?

The signal daemon ensures safe dispatch by isolating errors and logging them during event routing. It maintains durable signal slots via SWAP_D persistence, preserving registered handlers across restarts and lifecycle changes.

Can I use the signal system to coordinate decoupled events in a MUDlib?

Yes, the signal system is designed for MUDlib environments, applying a signal daemon and simul_efun API to coordinate decoupled events. Producers emit signals globally while consumers register slots across all signal categories.

How do I register a handler and emit a signal for pubsub event routing?

Register a handler with the slot() function, then emit a signal with the emit() function to observe dispatch to all registered observers. This enables publish and subscribe style event routing across all objects.

What status codes are returned by the signal dispatch system?

The signal dispatch system implements runtime safety through a range of status codes returned during signal emission and slot registration. These codes track successful delivery, isolation errors, and lifecycle management events.