/** * Add transfer task to send data of specific {@code columnFamilies} under {@code keyspace} and {@code ranges}. * * @param to endpoint address of receiver * @param connecting Actual connecting address of the endpoint * @param keyspace name of keyspace * @param ranges ranges to send * @param columnFamilies specific column families * @return this object for chaining */ public StreamPlan transferRanges(InetAddress to, InetAddress connecting, String keyspace, Collection<Range<Token>> ranges, String... columnFamilies) { StreamSession session = coordinator.getOrCreateNextSession(to, connecting); session.addTransferRanges(keyspace, ranges, Arrays.asList(columnFamilies), flushBeforeTransfer, repairedAt); return this; }
/** * Add transfer task to send data of specific {@code columnFamilies} under {@code keyspace} and {@code ranges}. * * @param to endpoint address of receiver * @param connecting Actual connecting address of the endpoint * @param keyspace name of keyspace * @param ranges ranges to send * @param columnFamilies specific column families * @return this object for chaining */ public StreamPlan transferRanges(InetAddress to, InetAddress connecting, String keyspace, Collection<Range<Token>> ranges, String... columnFamilies) { StreamSession session = coordinator.getOrCreateNextSession(to, connecting); session.addTransferRanges(keyspace, ranges, Arrays.asList(columnFamilies), flushBeforeTransfer, repairedAt); return this; }
/** * Add transfer task to send data of specific {@code columnFamilies} under {@code keyspace} and {@code ranges}. * * @param to endpoint address of receiver * @param connecting Actual connecting address of the endpoint * @param keyspace name of keyspace * @param ranges ranges to send * @param columnFamilies specific column families * @return this object for chaining */ public StreamPlan transferRanges(InetAddress to, InetAddress connecting, String keyspace, Collection<Range<Token>> ranges, String... columnFamilies) { StreamSession session = coordinator.getOrCreateNextSession(to, connecting); session.addTransferRanges(keyspace, ranges, Arrays.asList(columnFamilies), flushBeforeTransfer, repairedAt); return this; }
/** * Add transfer task to send data of specific {@code columnFamilies} under {@code keyspace} and {@code ranges}. * * @param to endpoint address of receiver * @param connecting Actual connecting address of the endpoint * @param keyspace name of keyspace * @param ranges ranges to send * @param columnFamilies specific column families * @return this object for chaining */ public StreamPlan transferRanges(InetAddress to, InetAddress connecting, String keyspace, Collection<Range<Token>> ranges, String... columnFamilies) { StreamSession session = coordinator.getOrCreateNextSession(to, connecting); session.addTransferRanges(keyspace, ranges, Arrays.asList(columnFamilies), flushBeforeTransfer, repairedAt); return this; }
/** * Prepare this session for sending/receiving files. */ public void prepare(Collection<StreamRequest> requests, Collection<StreamSummary> summaries) { // prepare tasks state(State.PREPARING); for (StreamRequest request : requests) addTransferRanges(request.keyspace, request.ranges, request.columnFamilies, true, request.repairedAt); // always flush on stream request for (StreamSummary summary : summaries) prepareReceiving(summary); // send back prepare message if prepare message contains stream request if (!requests.isEmpty()) { PrepareMessage prepare = new PrepareMessage(); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); } // if there are files to stream if (!maybeCompleted()) startStreamingFiles(); }
/** * Prepare this session for sending/receiving files. */ public void prepare(Collection<StreamRequest> requests, Collection<StreamSummary> summaries) { // prepare tasks state(State.PREPARING); for (StreamRequest request : requests) addTransferRanges(request.keyspace, request.ranges, request.columnFamilies, true, request.repairedAt); // always flush on stream request for (StreamSummary summary : summaries) prepareReceiving(summary); // send back prepare message if prepare message contains stream request if (!requests.isEmpty()) { PrepareMessage prepare = new PrepareMessage(); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); } // if there are files to stream if (!maybeCompleted()) startStreamingFiles(); }
/** * Prepare this session for sending/receiving files. */ public void prepare(Collection<StreamRequest> requests, Collection<StreamSummary> summaries) { // prepare tasks state(State.PREPARING); for (StreamRequest request : requests) addTransferRanges(request.keyspace, request.ranges, request.columnFamilies, true, request.repairedAt); // always flush on stream request for (StreamSummary summary : summaries) prepareReceiving(summary); // send back prepare message if prepare message contains stream request if (!requests.isEmpty()) { PrepareMessage prepare = new PrepareMessage(); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); } // if there are files to stream if (!maybeCompleted()) startStreamingFiles(); }
/** * Prepare this session for sending/receiving files. */ public void prepare(Collection<StreamRequest> requests, Collection<StreamSummary> summaries) { // prepare tasks state(State.PREPARING); for (StreamRequest request : requests) addTransferRanges(request.keyspace, request.ranges, request.columnFamilies, true, request.repairedAt); // always flush on stream request for (StreamSummary summary : summaries) prepareReceiving(summary); // send back prepare message if prepare message contains stream request if (!requests.isEmpty()) { PrepareMessage prepare = new PrepareMessage(); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); } // if there are files to stream if (!maybeCompleted()) startStreamingFiles(); }