protected void pollForRequests(List<RequestInfo> requestsToSend, Set<Integer> requestsToDrop) {
    try {
      putManager.poll(requestsToSend, requestsToDrop);
      getManager.poll(requestsToSend, requestsToDrop);
      nonBlockingRouter.initiateBackgroundDeletes(backgroundDeleteRequests);
      backgroundDeleteRequests.clear();
      deleteManager.poll(requestsToSend, requestsToDrop);
      ttlUpdateManager.poll(requestsToSend, requestsToDrop);
      undeleteManager.poll(requestsToSend, requestsToDrop);
      replicateBlobManager.poll(requestsToSend, requestsToDrop);
    } catch (Exception e) {
      logger.error("Operation Manager poll received an unexpected error: ", e);
      routerMetrics.operationManagerPollErrorCount.inc();
    }
  }
This method is used by the RequestResponseHandler thread to poll for requests to be sent
@param requestsToSend a list of {@link RequestInfo} that will contain the requests to be sent out.
@param requestsToDrop a list of correlation IDs that will contain the IDs for requests that the network layer
                      should drop.
ambry-router/src/main/java/com/github/ambry/router/OperationController.java