Class ResponseTracker
java.lang.Object
org.ovirt.vdsm.jsonrpc.client.internal.ResponseTracker
- All Implemented Interfaces:
Runnable
Response tracker thread is responsible for tracking and retrying requests. For each connection there is single
instance of the thread.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ScheduledExecutorServiceprivate final ConcurrentMap<String, List<com.fasterxml.jackson.databind.JsonNode>> private final AtomicBooleanprivate final Lockprivate static final org.slf4j.Loggerprivate final ConcurrentMap<com.fasterxml.jackson.databind.JsonNode, ResponseTracking> private final Queue<com.fasterxml.jackson.databind.JsonNode> private final ConcurrentMap<com.fasterxml.jackson.databind.JsonNode, JsonRpcCall> private static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()private voidhandleFailure(ResponseTracking tracking, com.fasterxml.jackson.databind.JsonNode id, String failureDetails) protected voidloop()voidprocessIssue(JsonRpcResponse response) voidregisterCall(JsonRpcRequest req, JsonRpcCall call) voidregisterTrackingRequest(JsonRpcRequest req, ResponseTracking tracking) private voidremove(ResponseTracking tracking, com.fasterxml.jackson.databind.JsonNode id, JsonRpcResponse response) removeCall(com.fasterxml.jackson.databind.JsonNode id) private voidremoveNodes(List<com.fasterxml.jackson.databind.JsonNode> nodes, JsonRpcResponse errorResponse) private voidremoveRequestFromTracking(com.fasterxml.jackson.databind.JsonNode id) voidrun()voidsetExecutorService(ScheduledExecutorService executorService)
-
Field Details
-
log
private static final org.slf4j.Logger log -
TRACKING_TIMEOUT
private static final int TRACKING_TIMEOUT- See Also:
-
isTracking
-
runningCalls
-
map
-
hostToId
-
queue
-
lock
-
executorService
-
-
Constructor Details
-
ResponseTracker
public ResponseTracker()
-
-
Method Details
-
removeRequestFromTracking
private void removeRequestFromTracking(com.fasterxml.jackson.databind.JsonNode id) -
registerCall
-
removeCall
-
registerTrackingRequest
-
run
public void run() -
loop
protected void loop() -
close
public void close() -
handleFailure
private void handleFailure(ResponseTracking tracking, com.fasterxml.jackson.databind.JsonNode id, String failureDetails) -
setExecutorService
-
remove
private void remove(ResponseTracking tracking, com.fasterxml.jackson.databind.JsonNode id, JsonRpcResponse response) -
processIssue
-
removeNodes
private void removeNodes(List<com.fasterxml.jackson.databind.JsonNode> nodes, JsonRpcResponse errorResponse) -
getHostMap
-