aboutsummaryrefslogtreecommitdiffstats
path: root/flask.h
diff options
context:
space:
mode:
authoripkn <ipknhama@gmail.com>2014-04-17 02:50:28 -0400
committeripkn <ipknhama@gmail.com>2014-04-17 02:50:28 -0400
commit9ee37ce4bf664166807ff02b61d2e18181c4c1f9 (patch)
treef4c7e41952952f9eaea0db77a73adb0f30341f1b /flask.h
parentaaf3e525032a54f062395c0f5f057aa6b97f4638 (diff)
downloadcrow-9ee37ce4bf664166807ff02b61d2e18181c4c1f9.tar.gz
crow-9ee37ce4bf664166807ff02b61d2e18181c4c1f9.zip
add concurrency; add server header
Diffstat (limited to 'flask.h')
-rw-r--r--flask.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/flask.h b/flask.h
index ddc91e8..cf1d9d6 100644
--- a/flask.h
+++ b/flask.h
@@ -5,6 +5,7 @@
#include <future>
#include <stdint.h>
#include <type_traits>
+#include <thread>
#include "http_server.h"
#include "utility.h"
@@ -48,6 +49,19 @@ namespace flask
return *this;
}
+ Flask& multithreaded()
+ {
+ return concurrency(std::thread::hardware_concurrency());
+ }
+
+ Flask& concurrency(std::uint16_t concurrency)
+ {
+ if (concurrency < 1)
+ concurrency = 1;
+ concurrency_ = concurrency;
+ return *this;
+ }
+
void validate()
{
router_.validate();
@@ -56,7 +70,7 @@ namespace flask
void run()
{
validate();
- Server<Flask> server(this, port_);
+ Server<Flask> server(this, port_, concurrency_);
server.run();
}
void debug_print()
@@ -67,6 +81,7 @@ namespace flask
private:
uint16_t port_ = 80;
+ uint16_t concurrency_ = 1;
Router router_;
};