Package org.jgroups
Class ViewId
- java.lang.Object
-
- org.jgroups.ViewId
-
- All Implemented Interfaces:
java.lang.Comparable<ViewId>,Constructable<ViewId>,SizeStreamable,Streamable
public class ViewId extends java.lang.Object implements java.lang.Comparable<ViewId>, SizeStreamable, Constructable<ViewId>
ViewIds are used for ordering views (each view has a ViewId and a list of members). Ordering between views is important for example in a virtual synchrony protocol where all views seen by a member have to be ordered.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(ViewId other)Establishes an order between 2 ViewIds.intcompareToIDs(ViewId other)Establishes an order between 2 ViewIds.ViewIdcopy()java.util.function.Supplier<? extends ViewId>create()Creates an instance of the class implementing this interfacebooleanequals(java.lang.Object other)AddressgetCreator()Returns the address of the member that issued this viewlonggetId()returns the lamport time of the viewinthashCode()voidreadFrom(java.io.DataInput in)Read the state of the current object (including superclasses) from instream Note that the input stream must not be closedintserializedSize()Returns the size (in bytes) of the marshalled objectjava.lang.StringtoString()voidwriteTo(java.io.DataOutput out)Write the entire state of the current object (including superclasses) to outstream.
-
-
-
Field Detail
-
creator
protected Address creator
-
id
protected long id
-
-
Constructor Detail
-
ViewId
public ViewId()
-
ViewId
public ViewId(Address creator)
Creates a ViewID with the coordinator address and a Lamport timestamp of 0.- Parameters:
creator- the address of the member that issued this view
-
ViewId
public ViewId(Address creator, long id)
Creates a ViewID with the coordinator address and the given Lamport timestamp.- Parameters:
creator- - the address of the member that issued this viewid- - the Lamport timestamp of the view
-
-
Method Detail
-
create
public java.util.function.Supplier<? extends ViewId> create()
Description copied from interface:ConstructableCreates an instance of the class implementing this interface- Specified by:
createin interfaceConstructable<ViewId>
-
getCreator
public Address getCreator()
Returns the address of the member that issued this view- Returns:
- the Address of the the creator
-
getId
public long getId()
returns the lamport time of the view- Returns:
- the lamport time timestamp
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
copy
public ViewId copy()
-
compareTo
public int compareTo(ViewId other)
Establishes an order between 2 ViewIds. The comparison is done on the IDs, if they are equal, we use the creator.- Specified by:
compareToin interfacejava.lang.Comparable<ViewId>- Returns:
- 0 for equality, value less than 0 if smaller, greater than 0 if greater.
-
compareToIDs
public int compareToIDs(ViewId other)
Establishes an order between 2 ViewIds. Note that we compare only on IDs !- Returns:
- 0 for equality, value less than 0 if smaller, greater than 0 if greater.
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
writeTo
public void writeTo(java.io.DataOutput out) throws java.io.IOExceptionDescription copied from interface:StreamableWrite the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed- Specified by:
writeToin interfaceStreamable- Throws:
java.io.IOException
-
readFrom
public void readFrom(java.io.DataInput in) throws java.io.IOException, java.lang.ClassNotFoundExceptionDescription copied from interface:StreamableRead the state of the current object (including superclasses) from instream Note that the input stream must not be closed- Specified by:
readFromin interfaceStreamable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
serializedSize
public int serializedSize()
Description copied from interface:SizeStreamableReturns the size (in bytes) of the marshalled object- Specified by:
serializedSizein interfaceSizeStreamable
-
-