diff --git a/GCDWebServer/Core/GCDWebServer.h b/GCDWebServer/Core/GCDWebServer.h index 9601b82..5e81d80 100644 --- a/GCDWebServer/Core/GCDWebServer.h +++ b/GCDWebServer/Core/GCDWebServer.h @@ -56,7 +56,8 @@ typedef GCDWebServerResponse* (^GCDWebServerProcessBlock)(GCDWebServerRequest* r @end @interface GCDWebServer (Subclassing) -+ (Class)connectionClass; ++ (NSUInteger)maxPendingConnections; // Default is 16 ++ (Class)connectionClass; // Default is GCDWebServerConnection + (NSString*)serverName; // Default is class name + (BOOL)shouldAutomaticallyMapHEADToGET; // Default is YES which means HEAD requests are mapped to GET requests with the response body being discarded @end diff --git a/GCDWebServer/Core/GCDWebServer.m b/GCDWebServer/Core/GCDWebServer.m index b027264..f29fa3d 100644 --- a/GCDWebServer/Core/GCDWebServer.m +++ b/GCDWebServer/Core/GCDWebServer.m @@ -40,7 +40,6 @@ #else #define kDefaultPort 8080 #endif -#define kMaxPendingConnections 16 @interface GCDWebServer () { @private @@ -200,7 +199,7 @@ static void _NetServiceClientCallBack(CFNetServiceRef service, CFStreamError* er addr4.sin_port = htons(port); addr4.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(listeningSocket, (void*)&addr4, sizeof(addr4)) == 0) { - if (listen(listeningSocket, kMaxPendingConnections) == 0) { + if (listen(listeningSocket, (int)[[self class] maxPendingConnections]) == 0) { _source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, listeningSocket, 0, kGCDWebServerGCDQueue); dispatch_source_set_cancel_handler(_source, ^{ @@ -318,6 +317,10 @@ static void _NetServiceClientCallBack(CFNetServiceRef service, CFStreamError* er @implementation GCDWebServer (Subclassing) ++ (NSUInteger)maxPendingConnections { + return 16; +} + + (Class)connectionClass { return [GCDWebServerConnection class]; }