public PrepareMessage deserialize(ReadableByteChannel in, int version, StreamSession session) throws IOException { DataInput input = new DataInputStream(Channels.newInputStream(in)); PrepareMessage message = new PrepareMessage(); // requests int numRequests = input.readInt(); for (int i = 0; i < numRequests; i++) message.requests.add(StreamRequest.serializer.deserialize(input, version)); // summaries int numSummaries = input.readInt(); for (int i = 0; i < numSummaries; i++) message.summaries.add(StreamSummary.serializer.deserialize(input, version)); return message; }
/** * Call back when connection initialization is complete to start the prepare phase. */ public void onInitializationComplete() { // send prepare message state(State.PREPARING); PrepareMessage prepare = new PrepareMessage(); prepare.requests.addAll(requests); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); // if we don't need to prepare for receiving stream, start sending files immediately if (requests.isEmpty()) startStreamingFiles(); }
/** * Call back when connection initialization is complete to start the prepare phase. */ public void onInitializationComplete() { // send prepare message state(State.PREPARING); PrepareMessage prepare = new PrepareMessage(); prepare.requests.addAll(requests); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); // if we don't need to prepare for receiving stream, start sending files immediately if (requests.isEmpty()) startStreamingFiles(); }
/** * Call back when connection initialization is complete to start the prepare phase. */ public void onInitializationComplete() { // send prepare message state(State.PREPARING); PrepareMessage prepare = new PrepareMessage(); prepare.requests.addAll(requests); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); // if we don't need to prepare for receiving stream, start sending files immediately if (requests.isEmpty()) startStreamingFiles(); }
/** * Call back when connection initialization is complete to start the prepare phase. */ public void onInitializationComplete() { // send prepare message state(State.PREPARING); PrepareMessage prepare = new PrepareMessage(); prepare.requests.addAll(requests); for (StreamTransferTask task : transfers.values()) prepare.summaries.add(task.getSummary()); handler.sendMessage(prepare); // if we don't need to prepare for receiving stream, start sending files immediately if (requests.isEmpty()) startStreamingFiles(); }
@SuppressWarnings("resource") // Not closing constructed DataInputPlus's as the channel needs to remain open. public PrepareMessage deserialize(ReadableByteChannel in, int version, StreamSession session) throws IOException { DataInputPlus input = new DataInputStreamPlus(Channels.newInputStream(in)); PrepareMessage message = new PrepareMessage(); // requests int numRequests = input.readInt(); for (int i = 0; i < numRequests; i++) message.requests.add(StreamRequest.serializer.deserialize(input, version)); // summaries int numSummaries = input.readInt(); for (int i = 0; i < numSummaries; i++) message.summaries.add(StreamSummary.serializer.deserialize(input, version)); return message; }
@SuppressWarnings("resource") // Not closing constructed DataInputPlus's as the channel needs to remain open. public PrepareMessage deserialize(ReadableByteChannel in, int version, StreamSession session) throws IOException { DataInputPlus input = new DataInputStreamPlus(Channels.newInputStream(in)); PrepareMessage message = new PrepareMessage(); // requests int numRequests = input.readInt(); for (int i = 0; i < numRequests; i++) message.requests.add(StreamRequest.serializer.deserialize(input, version)); // summaries int numSummaries = input.readInt(); for (int i = 0; i < numSummaries; i++) message.summaries.add(StreamSummary.serializer.deserialize(input, version)); return message; }
@SuppressWarnings("resource") // Not closing constructed DataInputPlus's as the channel needs to remain open. public PrepareMessage deserialize(ReadableByteChannel in, int version, StreamSession session) throws IOException { DataInputPlus input = new DataInputStreamPlus(Channels.newInputStream(in)); PrepareMessage message = new PrepareMessage(); // requests int numRequests = input.readInt(); for (int i = 0; i < numRequests; i++) message.requests.add(StreamRequest.serializer.deserialize(input, version)); // summaries int numSummaries = input.readInt(); for (int i = 0; i < numSummaries; i++) message.summaries.add(StreamSummary.serializer.deserialize(input, version)); return message; }
/** * 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(); }