Package com.hazelcast.jet.core
Enum Edge.RoutingPolicy
- All Implemented Interfaces:
Serializable
,Comparable<Edge.RoutingPolicy>
,java.lang.constant.Constable
- Enclosing class:
- Edge
public static enum Edge.RoutingPolicy extends Enum<Edge.RoutingPolicy> implements Serializable
An edge describes a connection from many upstream processors to many
downstream processors. The routing policy decides where exactly to route
each particular item emitted from an upstream processor. To simplify
the reasoning we introduce the concept of the set of candidate
downstream processors, or the candidate set for short. On
a local edge the candidate set contains only local processors and on a
distributed edge it contain all the processors.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum Constants Enum Constant Description BROADCAST
This policy sends each item to all candidate processors.FANOUT
This policy sends an item to all members, but only to one processor on each member.ISOLATED
This policy sets up isolated parallel data paths between two vertices, as much as it can given the level of mismatch between the local parallelism (LP) of the upstream vs.PARTITIONED
This policy sends every item to the one processor responsible for the item's partition ID.UNICAST
This policy chooses for each item a single destination processor from the candidate set, with no restriction on the choice. -
Method Summary
Modifier and Type Method Description static Edge.RoutingPolicy
valueOf(String name)
Returns the enum constant of this type with the specified name.static Edge.RoutingPolicy[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
UNICAST
This policy chooses for each item a single destination processor from the candidate set, with no restriction on the choice. -
ISOLATED
This policy sets up isolated parallel data paths between two vertices, as much as it can given the level of mismatch between the local parallelism (LP) of the upstream vs. the downstream vertices. Specifically:- If LP_upstream <= LP_downstream, every downstream processor receives data from only one upstream processor
- If LP_upstream >= LP_downstream, every upstream processor sends data to only one downstream processor
This policy is only available on a local edge.
-
PARTITIONED
This policy sends every item to the one processor responsible for the item's partition ID. On a distributed edge, this processor is unique across the cluster; on a non-distributed edge, the processor is unique only within a member. -
BROADCAST
This policy sends each item to all candidate processors. -
FANOUT
This policy sends an item to all members, but only to one processor on each member. It's a combination ofBROADCAST
andUNICAST
: an item is first broadcast to all members, and then, on each member, it is unicast to one processor.If the destination local parallelism is 1, the behavior is equal to
BROADCAST
. If the member count in the cluster is 1, the behavior is equal toUNICAST
.To work as expected, the edge must be also
Edge.distributed()
. Otherwise it will work just likeUNICAST
.- Since:
- 4.4
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-