diff --git a/include/ircd/ios.h b/include/ircd/ios.h index 0c85abea1..65cbcf0f9 100644 --- a/include/ircd/ios.h +++ b/include/ircd/ios.h @@ -50,6 +50,9 @@ namespace ircd::ios bool available(); asio::io_context &get(); + const string_view &name(const descriptor &); + const string_view &name(const handler &); + void dispatch(descriptor &, std::function); void post(descriptor &, std::function); void dispatch(std::function); @@ -212,6 +215,19 @@ ircd::ios::asio_handler_deallocate(void *const ptr, handler::deallocate(h, ptr, size); } +inline const ircd::string_view & +ircd::ios::name(const handler &handler) +{ + assert(handler.descriptor); + return name(*handler.descriptor); +} + +inline const ircd::string_view & +ircd::ios::name(const descriptor &descriptor) +{ + return descriptor.name; +} + inline void ircd::ios::assert_main_thread() {