Documentation
What is Reflex, and how do I use it?
Modules
Class library for flexible, reactive programs.
a non-blocking server (client socket acceptor)
Base class for reactive (aka, event driven) objects.
Generic callback adapters to simplify calling back
Callback adapter for plain code references
Callback adapter for class and object methods
Non-callback, inline Promise adapter
Convenience functions for creating and using callbacks
A non-blocking socket client.
Autmatically manage a collection of collectible objects
non-blocking client socket connector
A stand-alone multi-shot periodic callback
Watch the exit of a subprocess by its SIGCHLD signal.
Communicate with POE components expecting events.
Communicate with POE components expecting postbacks.
Watch events from a POE::Session object.
Base class for POE::Wheel wrappers.
Represent POE::Wheel::Run as a Reflex class.
define a Reflex paramaterized role
add connection accepting to a class
add manageability by Reflex::Collection
add non-blocking client connecting to a class
add streaming input behavior to a class
set a periodic, recurring timer
add streaming input behavior to a class
add async process reaping behavior to a class
Make an object reactive (aka, event driven).
add readable-watching behavior to a class
add standard sysread() behavior to a class
Mix standard send/recv code into a class.
add signal catching behavior to a class
add streaming I/O behavior to a class
set a wakeup callback for a relative delay
set a wakeup callback for a particular UNIX time
add writable-watching behavior to a class
add buffered non-blocking syswrite() to a class
API to access the objects an event has passed through
receive callbacks when signals arrive
Buffered, translated I/O on non-blocking handles.
A stand-alone single-shot delayed callback
Emit an event when an attribute's value changes.
Automaticall watch Reflex objects.
Automatically watch Reflex objects.
Base class for non-blocking UDP networking peers.
A stand-alone single-shot callback at an absolute time
Provides
in docs/intro/AfterAwhileClass.pm
in docs/intro/AfterAwhileRole.pm
in docs/intro/AfterAwhileSubclass.pm
in docs/intro/AsyncAwhileClass.pm
in docs/intro/AsyncAwhileRole.pm
in lib/Reflex/Trait/EmitsOnChange.pm
in lib/Reflex/Trait/Observed.pm
in lib/Reflex/Trait/Watched.pm
in lib/Reflex/Codec/Message.pm
in lib/Reflex/Codec/Message/Datagram.pm
in lib/Reflex/Codec/Message/Eof.pm
in lib/Reflex/Codec/Message/Stream.pm
in lib/Reflex/Decoder/Line.pm
in lib/Reflex/Eg.pm
in lib/Reflex/Eg/Inheritance/Moose.pm
in lib/Reflex/Eg/Inheritance/Plain.pm
in lib/Reflex/Encoder/Line.pm
in lib/Reflex/Role/Decoding.pm
in lib/Reflex/Role/Decoding/Datagram.pm
in lib/Reflex/Role/Decoding/Stream.pm
in lib/Reflex/Role/Encoding.pm
Examples
- eg/EchoStream.pm
- eg/ExampleHelpers.pm
- eg/PoCoEvent.pm
- eg/PoCoPostback.pm
- eg/Proxy.pm
- eg/ReflexPromise.pm
- eg/Runner.pm
- eg/RunnerRole.pm
- eg/ZmqSocket.pm
- eg/eg-02-encoding.pl
- eg/eg-04-inheritance.pl
- eg/eg-05-composition.pl
- eg/eg-06-moose-roles.pl
- eg/eg-07-wheel-run.pl
- eg/eg-08-watched-trait.pl
- eg/eg-11-poco-postback.pl
- eg/eg-12-poco-event.pl
- eg/eg-13-irc-bot.pl
- eg/eg-14-synopsis.pl
- eg/eg-15-ipc-run.pl
- eg/eg-16-timer-inheritance.pl
- eg/eg-17-inheritance-no-moose.pl
- eg/eg-18-synopsis-no-moose.pl
- eg/eg-30-promise-timer.pl
- eg/eg-31-promise-object.pl
- eg/eg-32-promise-tiny.pl
- eg/eg-33-all-callbacks.pl
- eg/eg-34-tcp-server-echo.pl
- eg/eg-35-tcp-client.pl
- eg/eg-36-tiny-coderefs.pl
- eg/eg-37-ping-pong.pl
- eg/eg-38-promise-client.pl
- eg/eg-39-signals.pl
- eg/eg-40-proxy.pl
- eg/eg-41-signal-twice.pl
- eg/eg-42-reflex-in-poe.pl
- eg/eg-50-timeout.pl
- eg/eg-51-wakeup.pl
- eg/eg-60-collection-promise.pl
- eg/proto/Sidecar.pm
- eg/proto/eg-52-subclassed-timeout.pl
- eg/proto/eg-61-run-collection.pl
- eg/proto/leonerd-resolver-poe.pl
- eg/proto/role-injection/BaseClass.pm
- eg/proto/role-injection/BaseUseWith.pm
- eg/proto/role-injection/EventyRole.pm
- eg/proto/role-injection/EventySubSystem.pm
- eg/proto/role-injection/role-injects-itself.pl
- eg/proto/role-injection/use-with.pl
- eg/proto/sidecar.pl
- eg/proto/test-observer.pl
- eg/ttl/Ttl/Adder.pm
- eg/ttl/Ttl/And.pm
- eg/ttl/Ttl/Bin.pm
- eg/ttl/Ttl/FlipFlop/D.pm
- eg/ttl/Ttl/FlipFlop/JK.pm
- eg/ttl/Ttl/FlipFlop/MasterSlave.pm
- eg/ttl/Ttl/FlipFlop/T.pm
- eg/ttl/Ttl/HexDecoder.pm
- eg/ttl/Ttl/Latch/ClockedNandRS.pm
- eg/ttl/Ttl/Latch/NandRS.pm
- eg/ttl/Ttl/Latch/NorRS.pm
- eg/ttl/Ttl/Nand.pm
- eg/ttl/Ttl/Nor.pm
- eg/ttl/Ttl/Not.pm
- eg/ttl/Ttl/Or.pm
- eg/ttl/Ttl/TriAnd.pm
- eg/ttl/Ttl/TriNand.pm
- eg/ttl/Ttl/Un.pm
- eg/ttl/Ttl/Xor.pm
- eg/ttl/fail-ttl-counter.pl
- eg/ttl/fail-ttl-simple.pl
- eg/zmq-publish.pl
- eg/zmq-subscriber.pl