Changes for version 0.07 - 2011-06-30

  • added another example application: autocomplete-server.pl, thanks to Yung-chung Lin;
  • more work on examples; Net::DNS-based resolver moved to examples from separate module: it is simple enough to just use needed parts of the code and avoid unnecessary complications;
  • removed couple of not so good examples;
  • a lot of cleaning up;
  • added ngxe_writer_put as an alias to ngxe_writer_buffer_set;
  • added Nginx::Engine::Debug - tiny code filter to uncomment
    • warn ... things, can be enabled with --ngxe-debug command line argument or NGXE_DEBUG=1 environment variable;
  • XS internals:
  • reader checks whether or not writer was started in callback and does nothing if it was;
  • now callback increments refcnt of every argument before passing it to call_sv and decrements on return avoiding premature destruction of SVs if connection was closed somewhere else;
  • nginx updated to 0.8.54; 1.0.4 was crashing on c->recv with kqueue;
  • default kqueue/epoll changes/events raised to 4096; PP internals:
  • reader won't call back unless its buffer has $_[4] bytes and $_[4] > 0, but still no need to rely on that feature, it should be used as a hint only, kind of like lowat;
  • fix: autoswitch: writer was enabling reader back on after ngxe_writer_buffer_set, reader was checking $rin instead of $rout;
  • ngxe_buf returns blessed SCALARREF from pool that puts itself back to the pool on DESTROY;

Modules

Asynchronous framework based on nginx
Nginx::Engine's constants for internal usage
simple code filter for debugging purposes
Pure-perl implementation of the Nginx::Engine

Provides

in lib/Nginx/Engine/PP.pm
in lib/Nginx/Engine/PP.pm