• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

bin/H28-Mar-2010-3311

inc/Module/H28-Mar-2010-2,1431,595

lib/H28-Mar-2010-210115

t/H28-Mar-2010-138

xt/H28-Mar-2010-2622

.gitignoreH A D11-Mar-201037 65

ChangesH A D28-Mar-2010620 2315

MANIFESTH A D17-Mar-2010612 3029

META.ymlH A D28-Mar-2010613 3130

Makefile.PLH A D20-Mar-2010281 1312

READMEH A D28-Mar-20101.2 KiB3826

README

1NAME
2    Corona - Coro based PSGI web server
3
4SYNOPSIS
5      corona --listen :9090 app.psgi
6
7DESCRIPTION
8    Corona is a Coro based Plack web server. It uses Net::Server::Coro under
9    the hood, which means we have coroutines (threads) for each socket,
10    active connections and a main loop.
11
12    Because it's Coro based your web application can actually block with I/O
13    wait as long as it yields when being blocked, to the other coroutine
14    either explicitly with "cede" or automatically (via Coro::* magic).
15
16      # your web application
17      use Coro::LWP;
18      my $content = LWP::Simple::get($url); # this yields to other threads when IO blocks
19
20    Corona also uses Coro::AIO (and IO::AIO) if available, to send the
21    static filehandle using sendfile(2).
22
23    The simple benchmark shows this server gives 2000 requests per second in
24    the simple Hello World app, and 300 requests to serve 2MB photo files
25    when used with AIO modules. Brilliantly fast.
26
27    This web server sets "psgi.multithread" env var on.
28
29AUTHOR
30    Tatsuhiko Miyagawa
31
32LICENSE
33    This module is licensed under the same terms as Perl itself.
34
35SEE ALSO
36    Coro Net::Server::Coro Coro::AIO
37
38