code: def clean_by_request(self, request):
          '''
          Remove all futures that were waiting for request `request` since it is done waiting
          '''
          if request not in self.request_map:
              return
          for tag, matcher, future in self.request_map[request]:
              # timeout the future
              self._timeout_future(tag, matcher, future)
              # remove the timeout
              if future in self.timeout_map:
                  tornado.ioloop.IOLoop.current().remove_timeout(self.timeout_map[future])
                  del self.timeout_map[future]
  
          del self.request_map[requestf clean_by_request(self, request):
          '''
          Remove all futures that were waiting for request `request` since it is done waiting
          '''
          if request not in self.request_map:
              return
          for tag, matcher, future in self.request_map[request]:
              # timeout the future
              self._timeout_future(tag, matcher, future)
              # remove the timeout
              if future in self.timeout_map:
                  tornado.ioloop.IOLoop.current().remove_timeout(self.timeout_map[future])
                  del self.timeout_map[future]
  
          del self.request_map[request]
docs: Remove all futures that were waiting for request `request` since it is done waiting