/** * Send a one way message using the default channel handler, * without adding a completable future. * * @param message The message to send. */ default void sendMessage(CorfuMsg message) { sendMessage(null, message); }
public void sendMessage(CorfuMsg msg) { router.sendMessage(msg.setEpoch(epoch)); } }
/** * Evaluate this rule on a given message and router. */ public boolean evaluate(CorfuMsg message, Object router) { if (message == null) return false; if (match(message)) { int matchNumber = timesMatched.getAndIncrement(); if (drop) return false; if (dropOdd && matchNumber % 2 != 0) return false; if (dropEven && matchNumber % 2 == 0) return false; if (transformer != null) transformer.accept(message); if (injectBefore != null && router instanceof IClientRouter) ((IClientRouter)router).sendMessage(null, injectBefore.apply(message)); if (injectBefore != null && router instanceof IServerRouter) ((IServerRouter)router).sendResponse(null, injectBefore.apply(message), injectBefore.apply(message)); } return true; }