* responses - EntryNotFound, AlternateMatchpoint, or Entry.
*/
VLSNRange range = vlsnIndex.getRange();
EntryRequest firstRequest =
(EntryRequest) protocol.read(namedChannel);
Message response = makeResponseToEntryRequest(range,
firstRequest,
true);
protocol.write(response, namedChannel);
/*
* Now the replica may send one of three messages:
* - a StartStream message indicating that the replica wants to
* start normal operations
* - a EntryRequest message if it's still hunting for a
* matchpoint. There's the possiblity that the new EntryRequest
* asks for a VLSN that has been log cleaned, so check that we can
* supply it.
* - a RestoreRequest message that indicates that the replica
* has given up, and will want a network restore.
*/
VLSN startVLSN = null;
while (true) {
Message message = protocol.read(namedChannel);
if (logger.isLoggable(Level.FINEST)) {
LoggerUtils.finest(logger, repImpl,
"Replica " +
feeder.getReplicaNameIdPair() +
" message op: " + message.getOp());
}
if (message instanceof StartStream) {
startVLSN = ((StartStream) message).getVLSN();
break;
} else if (message instanceof EntryRequest) {