diff --git a/include/ircd/net/listener.h b/include/ircd/net/listener.h index d044142fc..bcc472764 100644 --- a/include/ircd/net/listener.h +++ b/include/ircd/net/listener.h @@ -33,6 +33,9 @@ struct ircd::net::listener std::shared_ptr acceptor; public: + operator const net::acceptor &() const; + operator net::acceptor &(); + explicit operator json::object() const; string_view name() const; diff --git a/ircd/net.cc b/ircd/net.cc index 428ae735f..c21ea8476 100644 --- a/ircd/net.cc +++ b/ircd/net.cc @@ -1012,6 +1012,21 @@ const return acceptor->opts; } +ircd::net::listener::operator +net::acceptor &() +{ + assert(acceptor); + return *acceptor; +} + +ircd::net::listener::operator +const net::acceptor &() +const +{ + assert(acceptor); + return *acceptor; +} + // // listener_udp //