view src/core/ngx_connection.h @ 6:669801705ab1

nginx-0.0.1-2002-08-26-19:18:19 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 26 Aug 2002 15:18:19 +0000
parents 34a521b1a148
children b5481d6fbbd4
line wrap: on
line source

#ifndef _NGX_CONNECTION_H_INCLUDED_
#define _NGX_CONNECTION_H_INCLUDED_

#include <ngx_socket.h>
#include <ngx_log.h>
#include <ngx_alloc.h>
#include <ngx_server.h>

typedef struct ngx_connection_s  ngx_connection_t;

#ifdef NGX_EVENT
#include <ngx_event.h>
#endif

struct ngx_connection_s {
    ngx_socket_t      fd;
    void            *data;

#ifdef NGX_EVENT
    ngx_event_t      *read;
    ngx_event_t      *write;
#endif

    ngx_log_t        *log;
    int             (*handler)(ngx_connection_t *c);
    ngx_server_t     *server;
    ngx_server_t     *servers;
    ngx_pool_t       *pool;

    int               family;
    struct sockaddr  *sockaddr;
    socklen_t         socklen;
    size_t            addr;
    char             *addr_text;
    size_t            addr_textlen;

    time_t            post_accept_timeout;
};


#if 0
cached file
    int      fd;       -2 unused, -1 closed (but read or mmaped), >=0 open
    char    *name;

    void    *buf;      addr if read or mmaped
                       aiocb* if aio_read
                       OVERLAPPED if TransmitFile or TransmitPackets
                       NULL if sendfile

    size_t   buf_size; for plain read
    off_t    offset;   for plain read

    size_t   size;
    time_t   mod;
    char    *last_mod; 'Sun, 17 Mar 2002 19:39:50 GMT'
    char    *etag;     '"a6d08-1302-3c94f106"'
    char    *len;      '4866'

EV_VNODE        should notify by some signal if diretory tree is changed
                or stat if aged >= N seconds (big enough)
#endif

#endif /* _NGX_CONNECTION_H_INCLUDED_ */