added access to the number of the current server port
This commit is contained in:
parent
c98362eab1
commit
6800d317e7
|
@ -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:
|
||||||
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 {
|
||||||
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 {
|
||||||
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:
|
||||||
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:
|
||||||
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_;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue