diff --git a/fast-wsgi/request.c b/fast-wsgi/request.c index 78b8073..fecff52 100644 --- a/fast-wsgi/request.c +++ b/fast-wsgi/request.c @@ -96,5 +96,4 @@ void configure_parser_settings() { parser_settings.on_header_value = on_header_value; parser_settings.on_message_begin = on_message_begin; parser_settings.on_message_complete = on_message_complete; -} - +} \ No newline at end of file diff --git a/fast-wsgi/request.h b/fast-wsgi/request.h index bca38f7..2f81f02 100644 --- a/fast-wsgi/request.h +++ b/fast-wsgi/request.h @@ -11,9 +11,3 @@ PyObject* current_header; llhttp_settings_t parser_settings; void configure_parser_settings(); -int on_message_begin(llhttp_t* parser); -int on_url(llhttp_t* parser, const char* url, size_t length); -int on_body(llhttp_t* parser, const char* body, size_t length); -int on_header_field(llhttp_t* parser, const char* header, size_t length); -int on_header_value(llhttp_t* parser, const char* value, size_t length); -int on_message_complete(llhttp_t* parser); diff --git a/fast-wsgi/server.c b/fast-wsgi/server.c index a2e4ffd..c284df1 100644 --- a/fast-wsgi/server.c +++ b/fast-wsgi/server.c @@ -86,6 +86,13 @@ int main() { uv_ip4_addr(host, port, &addr); + uv_tcp_init_ex(loop, &server, AF_INET); + + uv_fileno((const uv_handle_t*)&server, &fd); + + int enabled = 1; + setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &enabled, sizeof(&enabled)); + int r = uv_tcp_bind(&server, (const struct sockaddr*)&addr, 0); if (r) { fprintf(stderr, "Bind error %s\n", uv_strerror(r)); diff --git a/fast-wsgi/server.h b/fast-wsgi/server.h index 5700912..cf27bdf 100644 --- a/fast-wsgi/server.h +++ b/fast-wsgi/server.h @@ -10,6 +10,7 @@ int backlog; uv_tcp_t server; uv_buf_t response_buf; uv_loop_t* loop; +uv_os_fd_t fd; struct sockaddr_in addr;