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 int
compareTo(ViewId other)
Establishes an order between 2 ViewIds.int
compareToIDs(ViewId other)
Establishes an order between 2 ViewIds.ViewId
copy()
java.util.function.Supplier<? extends ViewId>
create()
Creates an instance of the class implementing this interfaceboolean
equals(java.lang.Object other)
Address
getCreator()
Returns the address of the member that issued this viewlong
getId()
returns the lamport time of the viewint
hashCode()
void
readFrom(java.io.DataInput in)
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closedint
serializedSize()
Returns the size (in bytes) of the marshalled objectjava.lang.String
toString()
void
writeTo(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:Constructable
Creates an instance of the class implementing this interface- Specified by:
create
in 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:
toString
in 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:
compareTo
in 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:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
writeTo
public void writeTo(java.io.DataOutput out) throws java.io.IOException
Description copied from interface:Streamable
Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed- Specified by:
writeTo
in interfaceStreamable
- Throws:
java.io.IOException
-
readFrom
public void readFrom(java.io.DataInput in) throws java.io.IOException, java.lang.ClassNotFoundException
Description copied from interface:Streamable
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed- Specified by:
readFrom
in interfaceStreamable
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
serializedSize
public int serializedSize()
Description copied from interface:SizeStreamable
Returns the size (in bytes) of the marshalled object- Specified by:
serializedSize
in interfaceSizeStreamable
-
-