15 |
|
|
16 |
use vars qw( $repl $server ); |
use vars qw( $repl $server ); |
17 |
|
|
18 |
|
#$repl = Continuity::REPL->new; |
19 |
|
$server = Continuity->new( |
20 |
|
port => 16001, |
21 |
|
path_session => 1, |
22 |
|
cookie_session => 'sid', |
23 |
|
callback => \&main, |
24 |
|
); |
25 |
|
$server->debug_level( 2 ); |
26 |
sub run { |
sub run { |
|
$repl = Continuity::REPL->new; |
|
|
$server = Continuity->new( |
|
|
port => 16001, |
|
|
path_session => 1, |
|
|
cookie_session => 'sid', |
|
|
callback => \&main, |
|
|
); |
|
|
$server->debug_level( 2 ); |
|
27 |
|
|
28 |
$server->loop; |
$server->loop; |
29 |
} |
} |
30 |
|
|
31 |
|
my @callbacks; |
32 |
|
my $callback_count; |
33 |
|
|
34 |
|
sub gen_link { |
35 |
|
my ($text, $code) = @_; |
36 |
|
$callbacks[$callback_count++] = $code; |
37 |
|
return qq{<a href="?cb=$callback_count">$text</a>}; |
38 |
|
} |
39 |
|
|
40 |
|
sub process_links { |
41 |
|
my $request = shift; |
42 |
|
my $cb = $request->param('cb'); |
43 |
|
if (exists $callbacks[$cb]) { |
44 |
|
$callbacks[$cb]->($request); |
45 |
|
delete $callbacks[$cb]; |
46 |
|
} |
47 |
|
} |
48 |
|
|
49 |
# This is the main entrypoint. We are looking for one of three things -- a |
# This is the main entrypoint. We are looking for one of three things -- a |
50 |
# pushstream, a sent message, or a request for the main HTML. We delegate each |
# pushstream, a sent message, or a request for the main HTML. We delegate each |
51 |
# of these cases, none of which will return (they all loop forever). |
# of these cases, none of which will return (they all loop forever). |