Package org.jgroups.protocols.relay
Class SiteMaster
- java.lang.Object
-
- org.jgroups.util.UUID
-
- org.jgroups.util.FlagsUUID
-
- org.jgroups.util.ExtendedUUID
-
- org.jgroups.protocols.relay.SiteUUID
-
- org.jgroups.protocols.relay.SiteMaster
-
- All Implemented Interfaces:
java.lang.Comparable<Address>
,Address
,Constructable<UUID>
,SiteAddress
,SizeStreamable
,Streamable
public class SiteMaster extends SiteUUID
Special address with the UUID part being 0: identifies the current (relay) coordinator of a given site. E,g, if we send a message with dest=SiteMaster(SFO) from site LON, then the message will be forwarded to the relay coordinator of the SFO site- Since:
- 3.2
- Author:
- Bela Ban
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jgroups.protocols.relay.SiteAddress
SiteAddress.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected static SiteMaster
ALL_SMS
protected static int
HASH
-
Fields inherited from class org.jgroups.util.ExtendedUUID
keys, print_function, values
-
Fields inherited from class org.jgroups.util.UUID
leastSigBits, mostSigBits, SIZE
-
-
Constructor Summary
Constructors Constructor Description SiteMaster()
SiteMaster(java.lang.String site)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(Address other)
Compares this UUID with the specified UUID.UUID
copy()
java.util.function.Supplier<? extends UUID>
create()
Creates an instance of the class implementing this interfaceboolean
equals(java.lang.Object obj)
Compares this object to the specified object.int
hashCode()
Returns a hash code for thisUUID
.boolean
isMulticast()
Whether or not this address causes a message to be sent to mulitple members.boolean
isSiteMaster()
Whether or not this address is aSiteMaster
.java.lang.String
toString()
SiteAddress.Type
type()
Temporary kludge to avoid instanceof-
Methods inherited from class org.jgroups.protocols.relay.SiteUUID
getName, getSite, isSiteAddress, print, printOthers, readFrom, serializedSize, writeTo
-
Methods inherited from class org.jgroups.util.ExtendedUUID
addContents, get, get, keyExists, keyExists, length, print, put, put, put, randomUUID, randomUUID, read, remove, remove, resize, setPrintFunction, sizeofHashMap, write
-
Methods inherited from class org.jgroups.util.UUID
digits, fromString, generateRandomBytes, getLeastSignificantBits, getMostSignificantBits, printName, toStringLong
-
-
-
-
Field Detail
-
ALL_SMS
protected static final SiteMaster ALL_SMS
-
HASH
protected static final int HASH
-
-
Method Detail
-
create
public java.util.function.Supplier<? extends UUID> create()
Description copied from interface:Constructable
Creates an instance of the class implementing this interface- Specified by:
create
in interfaceConstructable<UUID>
- Overrides:
create
in classSiteUUID
-
type
public SiteAddress.Type type()
Description copied from interface:SiteAddress
Temporary kludge to avoid instanceof
-
isMulticast
public boolean isMulticast()
Description copied from interface:Address
Whether or not this address causes a message to be sent to mulitple members. Typically, 'null' as destination sends the message to all members of a cluster, and a non-null address sends it to a single member. However, if a non-null destination address causes multicast behavior, this method needs to return true.- Returns:
- True if a message with this address as destination is sent to multiple members, else false
-
isSiteMaster
public boolean isSiteMaster()
Description copied from interface:Address
Whether or not this address is aSiteMaster
. Kludgey workaround to avoid the use ofinstanceof SiteMaster
.
Will be removed once the type pollution issue (https://bugs.openjdk.org/browse/JDK-8180450) is fixed.- Returns:
- true if this address is a site master, false otherwise
-
compareTo
public int compareTo(Address other)
Description copied from class:UUID
Compares this UUID with the specified UUID.The first of two UUIDs is greater than the second if the most significant field in which the UUIDs differ is greater for the first UUID.
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:UUID
Compares this object to the specified object. The result istrue
if and only if the argument is notnull
, is aUUID
object, has the same variant, and contains the same value, bit for bit, as thisUUID
.
-
hashCode
public int hashCode()
Description copied from class:UUID
Returns a hash code for thisUUID
.
-
-