private Value[][] GetGetsResults(NodeEndpoint endpoint, ExtendedGetRequest[] getRequests, int backupIndex) { try { using (var client = pool.Create(endpoint)) { return client.Get(topology.Version, getRequests); } } catch (SeeOtherException soe) { return GetGetsResults(soe.Endpoint, getRequests, backupIndex); } catch (TopologyVersionDoesNotMatchException) { RefreshTopology(); return GetInternal(getRequests, backupIndex); } catch (Exception) { try { return GetInternal(getRequests, backupIndex + 1); } catch (NoMoreBackupsException) { } throw; } }
private static GetRequestMessage CreateGetRequest(ExtendedGetRequest x) { return new GetRequestMessage.Builder { Key = x.Key, Segment = x.Segment, }.Build(); }