Message message = constructMessage(buf, null, oob, rsvp, totalOrder);
AnycastAddress address = new AnycastAddress(dests);
message.setDest(address);
retval = card.castMessage(dests, message, new RequestOptions(mode, timeout, false, filter));
} else if (broadcast || FORCE_MCAST || totalOrder) {
buf = marshallCall(marshaller, command);
RequestOptions opts = new RequestOptions(mode, timeout, false, filter);
//Only the commands in total order must be received...
//For correctness, ispn doesn't need their own message, so add own address to exclusion list
if(!totalOrder) {
opts.setExclusionList(card.getChannel().getAddress());
}
retval = card.castMessage(dests, constructMessage(buf, null, oob, rsvp, totalOrder),opts);
} else {
RequestOptions opts = new RequestOptions(mode, timeout);
//Only the commands in total order must be received...
opts.setExclusionList(card.getChannel().getAddress());
if (dests.isEmpty()) return new RspList<Object>();
buf = marshallCall(marshaller, command);
// if at all possible, try not to use JGroups' ANYCAST for now. Multiple (parallel) UNICASTs are much faster.