17#ifndef TOOLBOX_NET_STREAMACCEPTOR_HPP 
   18#define TOOLBOX_NET_STREAMACCEPTOR_HPP 
   26template <
typename DerivedT>
 
   33    : serv_{
ep.protocol()}
 
 
   53    void on_io_event(
CyclTime now, 
int fd, 
unsigned )
 
   57        static_cast<DerivedT*
>(
this)->on_sock_prepare(now, 
sock);
 
   59        if (
sock.is_ip_family()) {
 
   62                throw std::runtime_error{
"TCP_NODELAY option not set"};
 
   65        static_cast<DerivedT*
>(
this)->on_sock_accept(now, std::move(
sock), 
ep);