diff options
Diffstat (limited to 'src/BootstrapConnection.cpp')
-rw-r--r-- | src/BootstrapConnection.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/BootstrapConnection.cpp b/src/BootstrapConnection.cpp index df0a947..fc2e4ab 100644 --- a/src/BootstrapConnection.cpp +++ b/src/BootstrapConnection.cpp @@ -8,7 +8,8 @@ namespace chrono = std::chrono; namespace sibs { - BootstrapConnection::BootstrapConnection(const Ipv4 &bootstrapAddress) : + BootstrapConnection::BootstrapConnection(const Ipv4 &bootstrapAddress, const ConnectionOptions &options) : + connections(0, options), alive(true), putThreadCount(0) { @@ -54,22 +55,22 @@ namespace sibs } } - std::future<std::unique_ptr<BootstrapConnection>> BootstrapConnection::connect(const Ipv4 &bootstrapAddress) + std::future<std::unique_ptr<BootstrapConnection>> BootstrapConnection::connect(const Ipv4 &bootstrapAddress, const ConnectionOptions &options) { std::promise<std::unique_ptr<BootstrapConnection>> connectionPromise; std::future<std::unique_ptr<BootstrapConnection>> connectionFuture = connectionPromise.get_future(); - std::thread([bootstrapAddress](std::promise<std::unique_ptr<BootstrapConnection>> connectionPromise) + std::thread([bootstrapAddress](std::promise<std::unique_ptr<BootstrapConnection>> connectionPromise, const ConnectionOptions options) { try { - BootstrapConnection *connection = new BootstrapConnection(bootstrapAddress); + BootstrapConnection *connection = new BootstrapConnection(bootstrapAddress, options); connectionPromise.set_value(std::unique_ptr<BootstrapConnection>(connection)); } catch(...) { connectionPromise.set_exception(std::current_exception()); } - }, std::move(connectionPromise)).detach(); + }, std::move(connectionPromise), options).detach(); return connectionFuture; } |