mirror of
https://github.com/swisspol/GCDWebServer.git
synced 2026-04-24 00:00:04 +08:00
Added +[GCDWebServer maxPendingConnections]
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user