]> Dogcows Code - chaz/talk-event-driven-programming-in-perl/blobdiff - slides.html
add reactor usage example
[chaz/talk-event-driven-programming-in-perl] / slides.html
index 51f91018b47b58dc661ea16ec0f31ef6e68920f0..8904bd24addaf2a9151822c1795c18636db47498 100644 (file)
@@ -70,6 +70,16 @@ At it's core, event-driven programming is this simple.
 
 But there are some complications and things to knows, which is why this talk exists.
 
 
 But there are some complications and things to knows, which is why this talk exists.
 
+---
+class: center, middle
+
+![Help desk](img/helpdesk.jpg)
+
+.small[
+Image by Soniachat8.
+This image is licensed under the [Creative Commons Attribution-Share Alike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/deed.en) license.
+]
+
 ---
 name:  graph-eventloop
 class: center, middle
 ---
 name:  graph-eventloop
 class: center, middle
@@ -378,9 +388,13 @@ class: syscalls
 - [`clock_gettime`](http://man.he.net/man2/clock_gettime) - What time is it now?
 
 ---
 - [`clock_gettime`](http://man.he.net/man2/clock_gettime) - What time is it now?
 
 ---
+class: center, middle
 
 ## Reactor pattern
 
 
 ## Reactor pattern
 
+---
+## Reactor pattern
+
 .big[
 - Queues events asynchronously.
 - Demultiplexes and dispatches synchronously.
 .big[
 - Queues events asynchronously.
 - Demultiplexes and dispatches synchronously.
@@ -395,9 +409,26 @@ class: center, middle
 ![Reactor](img/reactor.svg)
 
 ---
 ![Reactor](img/reactor.svg)
 
 ---
-class: ex-basicreactor
+class: ex-basicreactor1
 
 
-## The basic reactor
+## Using a reactor
+
+```perl
+my $reactor = My::Reactor->new;
+
+# Set up event handlers
+$reactor->slurp_file($filepath, \&handle_slurp_event);
+$reactor->timer(5, \&handle_timer_event);
+$reactor->listen($socket, \&handle_new_connect_event);
+...
+
+$reactor->run_loop;
+```
+
+---
+class: ex-basicreactor2
+
+## The basic reactor implementation
 
 ```perl
 our $timers     = [...];
 
 ```perl
 our $timers     = [...];
@@ -414,9 +445,9 @@ while (1) {
 ```
 
 ---
 ```
 
 ---
-class: ex-basicreactor
+class: ex-basicreactor2
 
 
-## The basic reactor
+## The basic reactor implementation
 
 ```perl
 our $timers     = [...];
 
 ```perl
 our $timers     = [...];
@@ -445,6 +476,10 @@ while (1) {
 - [`Mojo::Reactor::Poll`](https://metacpan.org/source/Mojo::Reactor::Poll)
 ]
 
 - [`Mojo::Reactor::Poll`](https://metacpan.org/source/Mojo::Reactor::Poll)
 ]
 
+???
+These links, which will be available to you with the slides, link directly to the source code of these modules on
+metacpan so you can take a look at how they work.
+
 ---
 name:  not-all-roses
 class: center, middle
 ---
 name:  not-all-roses
 class: center, middle
This page took 0.0242 seconds and 4 git commands to generate.