callRemoteMethods(m, "installTransitionalView", new Object[]{m}, new String[]{Vector.class.getName()},
GroupRequest.GET_ALL, 0);
//callRemoteMethods(m, "installTransitionalView", m, GroupRequest.GET_ALL, 0);
Vector xmits = prepareRecoveryRetransmissionList(myAllReceivedUpTos);
RingToken injectToken = null;
if (xmits.size() > 1)
{
if(log.isInfoEnabled()) log.info("VS not satisfied, injecting recovery token...");
long aru = ((Long) xmits.firstElement()).longValue();
long highest = ((Long) xmits.lastElement()).longValue();
injectToken = new RingToken(RingToken.RECOVERY);
injectToken.setHighestSequence(highest);
injectToken.setAllReceivedUpto(aru);
Collection rtr = injectToken.getRetransmissionRequests();
rtr.addAll(xmits);
}
else
{
if(log.isInfoEnabled()) log.info("VS satisfied, injecting operational token...");
injectToken = new RingToken();
long sequence = ((Long) xmits.firstElement()).longValue();
injectToken.setHighestSequence(sequence);
injectToken.setAllReceivedUpto(sequence);
}
if(node != null)
node.passToken(injectToken);
tokenRetransmitter.resetTimeout();
}