mirror of
https://github.com/swisspol/GCDWebServer.git
synced 2024-10-07 08:32:16 +08:00
Added +[GCDWebServer maxPendingConnections]
This commit is contained in:
parent
9c73736225
commit
489c8c6236
@ -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
|
||||
|
@ -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];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user