if (deltas == null || deltas.size() == 0) {
throw new ChannelException("Delta channel: no deltas in first wave stream message",
NOT_RECOVERABLE);
}
HashedVersion connectVersion;
// This stream has reconnected at a previous version of the wavelet.
// The first delta has zero operations. It carries the reconnect version
// and signature.
TransformedWaveletDelta firstDelta = deltas.get(0);
if (firstDelta.size() != 0) {
throw new ChannelException("Delta channel: invalid first wave stream message, "
+ "expected no ops, got " + firstDelta.size(), NOT_RECOVERABLE);
}
connectVersion = HashedVersion.of(firstDelta.getAppliedAtVersion(),
firstDelta.getResultingVersion().getHistoryHash());
logTrace("Delta channel reconnecting, connect version ",
connectVersion.getVersion(), " current version ", currentSignedVersion != null ?
currentSignedVersion.getVersion() : connectVersion.getVersion());
processConnect(connectVersion, lastCommittedVersion, currentSignedVersion);
}