/** * Return the Executor in which to process this message. */ protected Executor getExecutor(DistributionManager dm) { return dm.getExecutor(getProcessorType(), sender); }
/** * Return the Executor in which to process this message. */ protected Executor getExecutor(DistributionManager dm) { return dm.getExecutor(getProcessorType(), sender); }
/** * If true then this message most be sent on an ordered channel. * If false then it can be unordered. * @since 5.5 */ public boolean orderedDelivery(boolean threadOwnsResources) { final int processorType = getProcessorType(); switch (processorType) { case DistributionManager.SERIAL_EXECUTOR: case DistributionManager.PARTITIONED_REGION_EXECUTOR: return true; // need to use ordered connections for StateFlush when // constainsRegionContentChange is true case DistributionManager.REGION_FUNCTION_EXECUTION_EXECUTOR: // allow nested distributed functions to be executed from within the // execution of a function; this is required particularly for GemFireXD // TODO: this can later be adjusted to use a separate property // always make it ordered with threadOwnsResources else it uses // shared resources for unordered connections // return containsRegionContentChange(); default: return threadOwnsResources || containsRegionContentChange(); } }
/** * If true then this message most be sent on an ordered channel. * If false then it can be unordered. * @since 5.5 */ public boolean orderedDelivery() { final int processorType = getProcessorType(); switch (processorType) { case DistributionManager.SERIAL_EXECUTOR: // no need to use orderedDelivery for PR ops particularly when thread // does not own resources //case DistributionManager.PARTITIONED_REGION_EXECUTOR: return true; case DistributionManager.REGION_FUNCTION_EXECUTION_EXECUTOR: // allow nested distributed functions to be executed from within the // execution of a function; this is required particularly for SQLFabric // TODO: this can later be adjusted to use a separate property return false; default: InternalDistributedSystem ids = InternalDistributedSystem .getAnyInstance(); return (ids != null && ids.threadOwnsResources()); } }
msg.isHighPriority = (gfmsg.getProcessorType() == DistributionManager.HIGH_PRIORITY_EXECUTOR || gfmsg instanceof HighPriorityDistributionMessage); if (msg.isHighPriority) {
&& getProcessorType() == DistributionManager.SERIAL_EXECUTOR && !isPreciousThread();
&& getProcessorType() == DistributionManager.SERIAL_EXECUTOR && !isPreciousThread();
if (gfmsg.getProcessorType() == DistributionManager.HIGH_PRIORITY_EXECUTOR || gfmsg instanceof HighPriorityDistributionMessage) { msg.setFlag(Flag.NO_FC);