public function acceptTcp($main_socket) {
        $socket = @stream_socket_accept($main_socket, 0, $remote_address);
        
        //thundering herd EAGAIN (Resource temporarily unavailable)
        if (!$socket) {
            return;
        }
        
        $connection = new Connection($socket, $this);
        
        if($this->handler ){
            $this->handler->attach($connection);
        }
        
        $this->handler->owner = $this;
        
        $this->trigger(Server::ON_ACCEPT, new IOEvent(['context'=>$connection]));
        
        $connection->ready();
    }