765 |
765 |
766 ////// new |
766 ////// new |
767 |
767 |
768 typedef struct _http_listener HttpListener; |
768 typedef struct _http_listener HttpListener; |
769 |
769 |
|
770 typedef struct ResourceType ResourceType; |
|
771 typedef struct ResourceData ResourceData; |
|
772 |
|
773 struct ResourceType { |
|
774 ResourceType * (*init)(pool_handle_t *, pblock *); |
|
775 void (*destroy)(ResourceType *); |
|
776 |
|
777 void * (*createresource)(ResourceType *, pblock *); |
|
778 void (*freeresource)(ResourceType *, void *); |
|
779 }; |
|
780 |
|
781 struct ResourceData { |
|
782 void *data; |
|
783 }; |
|
784 |
|
785 |
770 ////// |
786 ////// |
771 /* |
787 /* |
772 * VSInitFunc, VSDestroyFunc, VSDirectiveInitFunc and VSDirectiveDestroyFunc |
788 * VSInitFunc, VSDestroyFunc, VSDirectiveInitFunc and VSDirectiveDestroyFunc |
773 */ |
789 */ |
774 typedef struct VirtualServer VirtualServer; |
790 typedef struct VirtualServer VirtualServer; |
1579 int event_pollin(EventHandler *ev, SYS_NETFD fd, Event *event); |
1595 int event_pollin(EventHandler *ev, SYS_NETFD fd, Event *event); |
1580 int event_pollout(EventHandler *ev, SYS_NETFD fd, Event *event); |
1596 int event_pollout(EventHandler *ev, SYS_NETFD fd, Event *event); |
1581 int event_removepoll(EventHandler *ev, SYS_NETFD fd); |
1597 int event_removepoll(EventHandler *ev, SYS_NETFD fd); |
1582 int event_send(EventHandler *ev, Event *event); |
1598 int event_send(EventHandler *ev, Event *event); |
1583 |
1599 |
|
1600 // resource pool |
|
1601 ResourceData* resourcepool_lookup(Session *sn, Request *rq, const char *name, int flags); |
|
1602 void resourcepool_free(ResourceData *data); |
|
1603 |
1584 // assert |
1604 // assert |
1585 void ws_log_assert(const char *file, const char *func, int line); |
1605 void ws_log_assert(const char *file, const char *func, int line); |
1586 #ifdef _DEBUG |
1606 #ifdef _DEBUG |
1587 #ifndef __FUNCTION__ |
1607 #ifndef __FUNCTION__ |
1588 #define __FUNCTION__ __func__ |
1608 #define __FUNCTION__ __func__ |