added access to the number of the current server port

This commit is contained in:
Pedro Santos 2018-11-11 23:55:06 +00:00 committed by Tatsuhiro Tsujikawa
parent c98362eab1
commit 6800d317e7
6 changed files with 20 additions and 0 deletions

View File

@ -200,6 +200,15 @@ server::io_services() const {
return io_service_pool_.io_services();
}
const std::vector<int> server::ports() const {
auto ports = std::vector<int>(acceptors_.size());
auto index = 0;
for (const auto &acceptor : acceptors_) {
ports[index++] = acceptor.local_endpoint().port();
}
return ports;
}
} // namespace server
} // namespace asio_http2
} // namespace nghttp2

View File

@ -79,6 +79,9 @@ public:
const std::vector<std::shared_ptr<boost::asio::io_service>> &
io_services() const;
/// Returns a vector with all the acceptors ports in use.
const std::vector<int> ports() const;
private:
/// Initiate an asynchronous accept operation.
void start_accept(tcp::acceptor &acceptor, serve_mux &mux);

View File

@ -90,6 +90,8 @@ http2::io_services() const {
return impl_->io_services();
}
std::vector<int> http2::ports() const { return impl_->ports(); }
} // namespace server
} // namespace asio_http2

View File

@ -78,6 +78,8 @@ http2_impl::io_services() const {
return server_->io_services();
}
std::vector<int> http2_impl::ports() const { return server_->ports(); }
} // namespace server
} // namespace asio_http2

View File

@ -54,6 +54,7 @@ public:
void join();
const std::vector<std::shared_ptr<boost::asio::io_service>> &
io_services() const;
std::vector<int> ports() const;
private:
std::unique_ptr<server> server_;

View File

@ -214,6 +214,9 @@ public:
const std::vector<std::shared_ptr<boost::asio::io_service>> &
io_services() const;
// Returns a vector with the ports in use
std::vector<int> ports() const;
private:
std::unique_ptr<http2_impl> impl_;
};