private void forceCloseOnPendingRequests() { for (MySqlRequest request : requestQueue) { if (request.getRequest().tryCancel()) { request.getFuture().trySetException(new DbSessionClosedException("Connection is closed")); } } }
public MySqlRequest forceQueRequest(MySqlRequest request) { synchronized (lock) { requestQueue.add(request); channel.write(request.getRequest()); return request; } }
public MySqlRequest dequeRequest() { synchronized (lock) { final MySqlRequest request = requestQueue.poll(); if (logger.isDebugEnabled()) { logger.debug("Dequeued request: {}", request); } if (request.getRequest().wasCancelled()) { if (logger.isDebugEnabled()) { logger.debug("Request has been cancelled: {}", request); } return dequeRequest(); } return request; } }