}
}
- // TODO - fireRequestRemoved
+ /**
+ * Notifies all listeners that a request was removed.
+ *
+ * @param request
+ * The request that was removed
+ */
+ private void fireRequestRemoved(Request request) {
+ for (RequestListener requestListener: requestListeners) {
+ requestListener.requestRemoved(request);
+ }
+ }
//
// ACCESSORS
* {@inheritDoc}
*/
public void nodeDisconnected(Node node, Throwable throwable) {
- HighLevelClient highLevelClient = nodeManager.getHighLevelClient(node);
- if (highLevelClient == null) {
- logger.warning("got nodeDisconnected from node without high-level client: " + node);
+ Map<String, Request> identifierRequests = nodeRequests.get(node);
+ if (identifierRequests == null) {
+ logger.warning("got node without request map: " + node);
return;
}
+ for (Request request: identifierRequests.values()) {
+ fireRequestRemoved(request);
+ }
+ identifierRequests.clear();
}
//