Reflex
view release on metacpan or search on metacpan
Reflex::Callback - A base class for callback adapters.
Reflex::Callback::CodeRef - Implement plain coderef callbacks.
Reflex::Callback::Method - Implement class and object method callbacks.
Reflex::Callback::Promise - Return events procedurally rather than via
callbacks.
Reflex::Callbacks - Convenience functions to creating and use callbacks.
POE Adapters
POE provides over 400 modules for various useful things. Reflex can
work with them using these adapters.
Reflex::POE::Event - Communicate with POE components that expect command
events.
Reflex::POE::Postback - Communicate with POE components that respond via
postbacks.
Reflex::POE::Session - Communicate with POE components that expect to
talk to POE sessions.
Reflex::POE::Wheel - A generic POE::Wheel adapter to use them in Reflex.
Reflex::POE::Wheel::Run - Adapt POE::Wheel::Run by wrapping it in a
Reflex class.
Object Collections
It's often useful to manage collections of like-typed modules, such as
connections or jobs.
Reflex::Collection - Automatically manage a collection of collectible
objects.
Reflex::Role::Collectible - Allow objects to be managed by
Reflex::Collection.
Reflex::Sender - API to access the objects an event has passed through.
I/O
Event driven programs most often react to I/O of some sort. These
modules provide reactive I/O support.
Reflex::Acceptor - A non-blocking server (client socket acceptor).
Reflex::Client - A non-blocking socket client.
Reflex::Connector - A non-blocking client socket connector.
Reflex::Role::Accepting - Add non-blocking connection accepting to a
role.
Reflex::Role::Connecting - Add non-blocking client connecting to a class.
Reflex::Role::InStreaming - Add non-blocking streaming input behavior to
a class.
Reflex::Role::OutStreaming - Add non-blocking streaming output behavior
to a class.
Reflex::Role::Readable - Add non-blocking readable-watching behavior to a
class.
Reflex::Role::Reading - Add standard non-blocking sysread() behavior to a
class.
Reflex::Role::Recving - Add standard non-blocking send/recv behavior to a
class.
Reflex::Role::Streaming - Add non-blocking streaming I/O behavior to a
class.
Reflex::Role::Writable - Add non-blocking writable-watching behavior to a
class.
Reflex::Role::Writing - Add standard non-blocking syswrite() behavior to
a class.
Reflex::Stream - A non-blocking, buffered and translated I/O stream.
Reflex::UdpPeer - A base class for non-blocking UDP networking peers.
Signals and Child Processes
Modules that provide signal support, including SIGCHLD for child
process management.
Reflex::PID - A non-blocking SIGCHLD watcher for a specific process.
Reflex::Role::PidCatcher - Add non-blocking SIGCHLD watching to a class.
Reflex::Role::SigCatcher - Add non-blocking signal handling behavior to a
class.
Reflex::Signal - A non-blocking signal watcher.
Timers
Timer management has been relatively overlooked so far. We'll get to it
eventually, and you're welcome to help.
Reflex::Interval - A non-blocking periodic interval timer.
Reflex::Role::Interval - Add non-blocking periodic callbacks to a class.
Reflex::Role::Timeout - Add non-blocking timeout timer behavior to a
class.
Reflex::Role::Wakeup - Add non-blocking wakeup alarm behavior to a class.
Reflex::Timeout - A non-blocking single-shot delayed timer.
Reflex::Wakeup - A non-blocking single-shot alarm for a specific time.
Breadboarding Traits
Reflex also implements signal/slot style object interaction, through
emit() and watch() methods. These traits were inspired by Smalltalk's
watchable object attributes.
Reflex::Trait::EmitsOnChange - Cause a Moose attribute to emit() an event
when it changes.
Reflex::Trait::Observed - (Deprecated. See Reflex::Trait::Watched.)
Reflex::Trait::Watched - Automatically watch a Reactive object stored in
a Moose attribute.
ASSISTANCE
( run in 1.294 second using v1.01-cache-2.11-cpan-39bf76dae61 )