Added +[GCDWebServer maxPendingConnections]

This commit is contained in:
Pierre-Olivier Latour
2014-04-15 23:32:40 -03:00
parent 9c73736225
commit 489c8c6236
2 changed files with 7 additions and 3 deletions
+2 -1
View File
@@ -56,7 +56,8 @@ typedef GCDWebServerResponse* (^GCDWebServerProcessBlock)(GCDWebServerRequest* r
@end @end
@interface GCDWebServer (Subclassing) @interface GCDWebServer (Subclassing)
+ (Class)connectionClass; + (NSUInteger)maxPendingConnections; // Default is 16
+ (Class)connectionClass; // Default is GCDWebServerConnection
+ (NSString*)serverName; // Default is class name + (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 + (BOOL)shouldAutomaticallyMapHEADToGET; // Default is YES which means HEAD requests are mapped to GET requests with the response body being discarded
@end @end
+5 -2
View File
@@ -40,7 +40,6 @@
#else #else
#define kDefaultPort 8080 #define kDefaultPort 8080
#endif #endif
#define kMaxPendingConnections 16
@interface GCDWebServer () { @interface GCDWebServer () {
@private @private
@@ -200,7 +199,7 @@ static void _NetServiceClientCallBack(CFNetServiceRef service, CFStreamError* er
addr4.sin_port = htons(port); addr4.sin_port = htons(port);
addr4.sin_addr.s_addr = htonl(INADDR_ANY); addr4.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(listeningSocket, (void*)&addr4, sizeof(addr4)) == 0) { 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); _source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, listeningSocket, 0, kGCDWebServerGCDQueue);
dispatch_source_set_cancel_handler(_source, ^{ dispatch_source_set_cancel_handler(_source, ^{
@@ -318,6 +317,10 @@ static void _NetServiceClientCallBack(CFNetServiceRef service, CFStreamError* er
@implementation GCDWebServer (Subclassing) @implementation GCDWebServer (Subclassing)
+ (NSUInteger)maxPendingConnections {
return 16;
}
+ (Class)connectionClass { + (Class)connectionClass {
return [GCDWebServerConnection class]; return [GCDWebServerConnection class];
} }