/* Need to be sure to pass the full range; remote end can do filtering,
* (to reduce range if need be), but it needs to know full range
* for initial auto-registration. Although ideally maybe we should
* pass active and passive separately... has to do, for now.
*/
final KeyRange syncRange = local.totalRange();
final ServiceConfig config = _stuff.getServiceConfig();
RequestPathBuilder pathBuilder = new JdkHttpClientPathBuilder(remote.getAddress())
.addPathSegments(config.servicePathRoot);
pathBuilder = _stuff.getPathStrategy().appendPath(pathBuilder, PathType.SYNC_LIST);
pathBuilder = pathBuilder.addParameter(ClusterMateConstants.QUERY_PARAM_SINCE,
String.valueOf(syncedUpTo));
pathBuilder = pathBuilder.addParameter(ClusterMateConstants.QUERY_PARAM_KEYRANGE_START, String.valueOf(syncRange.getStart()));
pathBuilder = pathBuilder.addParameter(ClusterMateConstants.QUERY_PARAM_KEYRANGE_LENGTH, String.valueOf(syncRange.getLength()));
// this will include 'caller' param:
pathBuilder = cluster.addClusterStateInfo(pathBuilder);
pathBuilder = pathBuilder.addParameter(ClusterMateConstants.QUERY_PARAM_CLUSTER_HASH,
String.valueOf(lastClusterHash));
return pathBuilder.toString();