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

View File

@ -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

View File

@ -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];
}