Client timeouts are handled in Session::run_request. Auto-paging requests do not go through this method. They use QyeryPager instead. Important code there is in QueryPager::work. Unfortunately it does not handle client-side timeouts in any way - so there is potential for requests to hang forever!