internal void processBackgroundOperation <DATA_TYPE>(OperationAndData <DATA_TYPE> operationAndData, ICuratorEvent @event) { bool isInitialExecution = (@event == null); if (isInitialExecution) { performBackgroundOperation(operationAndData); return; } bool doQueueOperation = false; do { if (RetryLoop.shouldRetry(@event.getResultCode())) { doQueueOperation = checkBackgroundRetry(operationAndData, @event); break; } if (operationAndData.getCallback() != null) { sendToBackgroundCallback(operationAndData, @event); break; } processEvent(@event); }while (false); if (doQueueOperation) { queueOperation(operationAndData); } }
public void processResult(CuratorFramework client, ICuratorEvent @event) { _service.execute(RunnableUtils.FromFunc(() => { try { _callback.processResult(_client, @event); } catch (Exception e) { ThreadUtils.checkInterrupted(e); var keeperException = e as KeeperException; if (keeperException != null) { _client.validateConnection(_client.codeToState(keeperException)); } _client.logError("Background operation result handling threw exception", e); } })); }
internal void processBackgroundOperation <DATA_TYPE>(OperationAndData <DATA_TYPE> operationAndData, ICuratorEvent @event) { client.processBackgroundOperation(operationAndData, @event); }
public void processResult(CuratorFramework client, ICuratorEvent @event) { _service.execute(RunnableUtils.FromFunc(() => { try { _callback.processResult(_client, @event); } catch ( Exception e ) { ThreadUtils.checkInterrupted(e); var keeperException = e as KeeperException; if ( keeperException != null ) { _client.validateConnection(_client.codeToState(keeperException)); } _client.logError("Background operation result handling threw exception", e); } })); }