+TODO:
+X Get more knowledge about the Reactor front ends.
+X Throw up some examples in some slides (#5).
+X Add a section at the end to get out of the weeds and put a bit ol' bow on it.
+
Topics:
1. Evolution of event-driven programming:
X Signal
X Anything that can spontaneously happen in the real world.
-3. How to write a modern event-loop.
+3. How to write a modern event-loop (reactor style).
X kernel facilities (poll, select, etc.)
-4. List of already-built event loops.
-- EV
-- Glib
+4. List of already-built reactors.
+X EV
+X Glib
+X ...
5. Event-driven programming in Perl
-- POE
-- AnyEvent
-- IO::Async
-- Mojo::IOLoop
+X AnyEvent
+X IO::Async
+X Mojo::IOLoop
+X POE
6. Special considerations
X Exceptions in event-driven code.
X You should almost always check the return code of your syscalls to see if they succeeded or not.
7. Promises:
-- Future
-- Future::AsyncAwait
-- Future::Utils
+X Future
+X Future::AsyncAwait
+X Future::Utils
8. Real-world uses for event-driven applications:
- Webhooks
Other topics:
X What is event-driven programming?
-- Reactor: event loop that can receive multiple types of events and
+X Reactor: event loop that can receive multiple types of events and
demultiplex them, delivering them to appropriate handlers.
- C10k problem
- EDA (event-driven architecture)
-- Benefits of Event-driven
-- How to debug event-driven code.
+X Benefits of Event-driven
+X How to debug event-driven code.
Traditional programs:
- CGI - web server calls your program, and your program does its thing and
finishes.
-- filters - grep, less, sed, etc. Like a function, the program takes its input
+X filters - grep, less, sed, etc. Like a function, the program takes its input
and produces some output.
Perl features: