@Override public void sendToMany(Collection<Address> destinations, ReplicableCommand command, DeliverOrder deliverOrder) { actual.sendToMany(destinations, command, deliverOrder); }
@Override public final void sendToMany(Collection<Address> destinations, ReplicableCommand command, DeliverOrder deliverOrder) { setTopologyId(command); performSend(destinations, command, c -> { realOne.sendToMany(destinations, command, deliverOrder); return null; }); }
@Override public void sendToMany(Collection<Address> destinations, ReplicableCommand command, DeliverOrder deliverOrder) { rpcCollector.addRPC(new RpcDetail(getAddress(), command, cacheName, destinations)); delegate.sendToMany(destinations, command, deliverOrder); }
public Object invokeRemotelyAsync(List<Address> finalOwners, InvocationContext rCtx, WriteCommand writeCmd) { if (rCtx.isOriginLocal() && writeCmd.isSuccessful()) { // This is called with the entry locked. In order to avoid deadlocks we must not wait for RPC while // holding the lock, therefore we'll return a future and wait for it in LockingInterceptor after // unlocking (and committing) the entry. if (isSynchronous(writeCmd)) { if (finalOwners != null) { return rpcManager.invokeCommand( finalOwners, writeCmd, MapResponseCollector.ignoreLeavers(finalOwners.size()), rpcManager.getSyncRpcOptions()); } else { return rpcManager.invokeCommandOnAll(writeCmd, MapResponseCollector.ignoreLeavers(), rpcManager.getSyncRpcOptions()); } } else { rpcManager.sendToMany(finalOwners, writeCmd, DeliverOrder.NONE); } } return null; } }
rpcManager.getSyncRpcOptions()); } else { rpcManager.sendToMany(owners, command, DeliverOrder.NONE);