Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Coro based high-performance, asynchronous PSGI web server

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 t
Octocat-spinner-32 xt
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .shipit
Octocat-spinner-32 Changes
Octocat-spinner-32 MANIFEST
Octocat-spinner-32 MANIFEST.SKIP
Octocat-spinner-32 Makefile.PL
Octocat-spinner-32 README
README
NAME
    Corona - Coro based PSGI web server

SYNOPSIS
      corona --listen :9090 app.psgi

DESCRIPTION
    Corona is a Coro based Plack web server. It uses Net::Server::Coro under
    the hood, which means we have coroutines (threads) for each socket,
    active connections and a main loop.

    Because it's Coro based your web application can actually block with I/O
    wait as long as it yields when being blocked, to the other coroutine
    either explicitly with "cede" or automatically (via Coro::* magic).

      # your web application
      use Coro::LWP;
      my $content = LWP::Simple::get($url); # this yields to other threads when IO blocks

    Corona also uses Coro::AIO (and IO::AIO) if available, to send the
    static filehandle using sendfile(2).

    The simple benchmark shows this server gives 2000 requests per second in
    the simple Hello World app, and 300 requests to serve 2MB photo files
    when used with AIO modules. Brilliantly fast.

    This web server sets "psgi.multithread" env var on.

AUTHOR
    Tatsuhiko Miyagawa

LICENSE
    This module is licensed under the same terms as Perl itself.

SEE ALSO
    Coro Net::Server::Coro Coro::AIO

Something went wrong with that request. Please try again.