Commit 6800d317 authored by Pedro Santos's avatar Pedro Santos Committed by Tatsuhiro Tsujikawa

added access to the number of the current server port

parent c98362ea
...@@ -200,6 +200,15 @@ server::io_services() const { ...@@ -200,6 +200,15 @@ server::io_services() const {
return io_service_pool_.io_services(); 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 server
} // namespace asio_http2 } // namespace asio_http2
} // namespace nghttp2 } // namespace nghttp2
...@@ -79,6 +79,9 @@ public: ...@@ -79,6 +79,9 @@ public:
const std::vector<std::shared_ptr<boost::asio::io_service>> & const std::vector<std::shared_ptr<boost::asio::io_service>> &
io_services() const; io_services() const;
/// Returns a vector with all the acceptors ports in use.
const std::vector<int> ports() const;
private: private:
/// Initiate an asynchronous accept operation. /// Initiate an asynchronous accept operation.
void start_accept(tcp::acceptor &acceptor, serve_mux &mux); void start_accept(tcp::acceptor &acceptor, serve_mux &mux);
......
...@@ -90,6 +90,8 @@ http2::io_services() const { ...@@ -90,6 +90,8 @@ http2::io_services() const {
return impl_->io_services(); return impl_->io_services();
} }
std::vector<int> http2::ports() const { return impl_->ports(); }
} // namespace server } // namespace server
} // namespace asio_http2 } // namespace asio_http2
......
...@@ -78,6 +78,8 @@ http2_impl::io_services() const { ...@@ -78,6 +78,8 @@ http2_impl::io_services() const {
return server_->io_services(); return server_->io_services();
} }
std::vector<int> http2_impl::ports() const { return server_->ports(); }
} // namespace server } // namespace server
} // namespace asio_http2 } // namespace asio_http2
......
...@@ -54,6 +54,7 @@ public: ...@@ -54,6 +54,7 @@ public:
void join(); void join();
const std::vector<std::shared_ptr<boost::asio::io_service>> & const std::vector<std::shared_ptr<boost::asio::io_service>> &
io_services() const; io_services() const;
std::vector<int> ports() const;
private: private:
std::unique_ptr<server> server_; std::unique_ptr<server> server_;
......
...@@ -214,6 +214,9 @@ public: ...@@ -214,6 +214,9 @@ public:
const std::vector<std::shared_ptr<boost::asio::io_service>> & const std::vector<std::shared_ptr<boost::asio::io_service>> &
io_services() const; io_services() const;
// Returns a vector with the ports in use
std::vector<int> ports() const;
private: private:
std::unique_ptr<http2_impl> impl_; std::unique_ptr<http2_impl> impl_;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment