]> err.no Git - varnish/commitdiff
Move struct http into cache.h
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Sat, 8 Jul 2006 19:54:10 +0000 (19:54 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Sat, 8 Jul 2006 19:54:10 +0000 (19:54 +0000)
The original reasoning for having it private to cache_http.c was
to avoid pollution with event.h related structures but since that
pollution is happening other ways anyway, the cost is too high.

Include pthread.h, sys/time.h, and event.h from cache.h

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@380 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache.h
varnish-cache/bin/varnishd/cache_http.c

index 006421406e1c5e72923a3e812c360ec2c185d961..302ef08a6dfc4973b694657e8e53b56cfa24a596 100644 (file)
@@ -2,7 +2,10 @@
  * $Id$
  */
 
+#include <pthread.h>
+#include <sys/time.h>
 #include <queue.h>
+#include <event.h>
 
 #include "vcl_returns.h"
 
@@ -15,7 +18,36 @@ struct sess;
 struct object;
 struct objhead;
 
-#ifdef EV_TIMEOUT
+/*--------------------------------------------------------------------
+ * HTTP Request/Response/Header handling structure.
+ * RSN: struct worker and struct session will have one of these embedded.
+ */
+
+typedef void http_callback_f(void *, int bad);
+
+struct http {
+       struct event            ev;
+       http_callback_f         *callback;
+       void                    *arg;
+
+       char                    *s;             /* start of buffer */
+       char                    *e;             /* end of buffer */
+       char                    *v;             /* valid bytes */
+       char                    *t;             /* start of trailing data */
+
+
+       char                    *req;
+       char                    *url;
+       char                    *proto;
+       char                    *status;
+       char                    *response;
+       
+       char                    **hdr;
+       unsigned                nhdr;
+};
+
+/*--------------------------------------------------------------------*/
+
 struct worker {
        struct event_base       *eb;
        struct event            e1, e2;
@@ -23,9 +55,6 @@ struct worker {
        struct objhead          *nobjhead;
        struct object           *nobj;
 };
-#else
-struct worker;
-#endif
 
 #include "hash_slinger.h"
 
@@ -169,8 +198,6 @@ void HSH_Deref(struct object *o);
 void HSH_Init(void);
 
 /* cache_http.c */
-typedef void http_callback_f(void *, int bad);
-struct http;
 struct http *http_New(void);
 void http_Delete(struct http *hp);
 int http_GetHdr(struct http *hp, const char *hdr, char **ptr);
@@ -187,7 +214,7 @@ enum http_build {
        Build_Pipe,
        Build_Pass,
        Build_Fetch,
-       Build_Reply,
+       Build_Reply
 };
 void http_BuildSbuf(int fd, enum http_build mode, struct sbuf *sb, struct http *hp);
 
index bbb64e1c4ffa1433e76e67a573691010941a507b..c88ec28fb7f4ed060a84f6cf37ee3dbc137c01e8 100644 (file)
@@ -23,29 +23,6 @@ static unsigned              http_nhdr       = 128;
 
 /*--------------------------------------------------------------------*/
 
-struct http {
-       struct event            ev;
-       http_callback_f         *callback;
-       void                    *arg;
-
-       char                    *s;             /* start of buffer */
-       char                    *e;             /* end of buffer */
-       char                    *v;             /* valid bytes */
-       char                    *t;             /* start of trailing data */
-
-
-       char                    *req;
-       char                    *url;
-       char                    *proto;
-       char                    *status;
-       char                    *response;
-       
-       char                    **hdr;
-       unsigned                nhdr;
-};
-
-/*--------------------------------------------------------------------*/
-
 struct http *
 http_New(void)
 {