aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_connection.h
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-06-11 15:28:34 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-06-11 15:28:34 +0000
commit239baac646073cab7bbaf537ba2d6ca844f2c992 (patch)
treec7c3f61213697a68dc95898d27a730c08abce049 /src/core/ngx_connection.h
parente4a2526e5ccd4f3f5f160656c1a7b6f865ac44c8 (diff)
downloadnginx-239baac646073cab7bbaf537ba2d6ca844f2c992.tar.gz
nginx-239baac646073cab7bbaf537ba2d6ca844f2c992.zip
nginx-0.0.1-2003-06-11-19:28:34 import
Diffstat (limited to 'src/core/ngx_connection.h')
-rw-r--r--src/core/ngx_connection.h78
1 files changed, 69 insertions, 9 deletions
diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h
index 81b5987ca..1bd97f2bb 100644
--- a/src/core/ngx_connection.h
+++ b/src/core/ngx_connection.h
@@ -1,45 +1,98 @@
#ifndef _NGX_CONNECTION_H_INCLUDED_
#define _NGX_CONNECTION_H_INCLUDED_
+
#include <ngx_config.h>
#include <ngx_core.h>
-#include <ngx_event.h>
-struct ngx_connection_s {
- ngx_socket_t fd;
- void *data;
+typedef struct {
+ ngx_socket_t fd;
+
+ struct sockaddr *sockaddr;
+ socklen_t socklen; /* size of sockaddr */
+ int addr; /* offset to address in sockaddr */
+ int addr_text_max_len;
+ ngx_str_t addr_text;
+
+ int family;
+ int type;
+ int protocol;
+ int flags; /* Winsock2 flags */
+
+ void (*handler)(ngx_connection_t *c); /* handler of accepted
+ connection */
+ void *ctx; /* ngx_http_conf_ctx_t, for example */
+ void *servers; /* array of ngx_http_in_addr_t, for example */
+
+ ngx_log_t *log;
+ int backlog;
+
+ int pool_size;
+ int post_accept_buffer_size; /* should be here because
+ of the AcceptEx() preread */
+ time_t post_accept_timeout; /* should be here because
+ of the deferred accept */
+
+ unsigned bound:1; /* already bound */
+ unsigned inherited:1; /* inherited from previous process */
+ unsigned nonblocking_accept:1;
+ unsigned nonblocking:1;
+#if 0
+ unsigned overlapped:1; /* Winsock2 overlapped */
+#endif
+ unsigned shared:1; /* shared between threads or processes */
+#if (HAVE_DEFERRED_ACCEPT)
+ unsigned deferred_accept:1;
+#endif
+} ngx_listening_t;
-#ifdef NGX_EVENT
+
+struct ngx_connection_s {
+ void *data;
ngx_event_t *read;
ngx_event_t *write;
-#endif
+
+ ngx_socket_t fd;
+
+ ngx_listening_t *listening;
off_t sent;
+#if 0
void (*handler)(ngx_connection_t *c);
+#endif
void *ctx;
void *servers;
+
ngx_log_t *log;
ngx_pool_t *pool;
+#if 0
int pool_size;
int family;
+#endif
+
struct sockaddr *sockaddr;
socklen_t socklen;
+ ngx_str_t addr_text;
+
#if (HAVE_IOCP)
struct sockaddr *local_sockaddr;
socklen_t local_socklen;
- void *listening;
#endif
+
+#if 0
int addr;
int addr_text_max_len;
- ngx_str_t addr_text;
+#endif
ngx_hunk_t *buffer;
+#if 0
unsigned int post_accept_timeout;
+#endif
int number;
@@ -47,9 +100,15 @@ struct ngx_connection_s {
unsigned unexpected_eof:1;
unsigned tcp_nopush:1;
unsigned tcp_nopush_enabled:1;
+#if (HAVE_IOCP)
+ unsigned accept_context_updated:1;
+#endif
};
+
+
+
#if 0
cached file
int fd; -2 unused, -1 closed (but read or mmaped), >=0 open
@@ -84,8 +143,9 @@ typedef struct {
#endif
-extern ngx_os_io_t ngx_io;
+extern ngx_array_t ngx_listening_sockets;
+extern ngx_os_io_t ngx_io;
extern ngx_chain_t *(*ngx_write_chain_proc)