[dev][mod_wsgi] asynchronous extensions

Igor Sysoev is at rambler-co.ru
Tue Mar 4 15:48:33 MSK 2008


On Tue, Mar 04, 2008 at 01:30:07PM +0100, Manlio Perillo wrote:

> Manlio Perillo ha scritto:
> >Hi.
> >
> >Its time to add asynchronous extensions to the WSGI module.
> >
> >I'm developing a WSGI application where I need to talk with a web 
> >service on the Internet, so it is *very* important to use an 
> >asynchronous HTTP client.
> >
> >[...]
> >
> 
> Some more detailed questions:
> 1) Can I use NGX_READ_EVENT and NGX_WRITE_EVENT as bit masks?
>    As an example:
>    flags = NGX_READ_EVENT | NGX_WRITE_EVENT
>    if (flags & NGX_READ_EVENT) {...}

No, they can not ORed at least in kqueue method.

> 2) What's the meaning of active, disabled, ready and oneshot attributes
>    in the event structure?
> 
>    And what about the write attribute?

    /*
     * the event was passed or would be passed to a kernel;
     * in aio mode - operation was posted.
     */
    unsigned         active:1;

    /* the ready event; in aio mode 0 means that no operation can be posted */
    unsigned         ready:1;

    disabled: event filter has been allocated in kernel, but disabled now.
             The optimization that allows to avoid lock aquiring in kernel
             allocation.

    oneshot: event filter is oneshot, Solaris event port, kqueue's EV_ONESHOT,
             epoll's EPOLLONESHOT.

    write: write event filter (NGX_WRITE_EVENT).

Next answers later.


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list