org.jgroups.protocols
Class VectorTime
java.lang.Object
org.jgroups.protocols.VectorTime
public class VectorTime
extends java.lang.Object
Vector timestamp used in CAUSAL order protocol stack
- Vladimir Blagojevic vladimir@cs.yorku.ca
VectorTime(Address owner) - Constructs VectorTime given an adress of a owning group member
|
Collection | getMembers() - Returns Collection containing addresses of other group members from this Vector clock
|
int | getOwnerIndex() - Returns owner index in this VectorTime clock
|
TransportedVectorTime | getTransportedVectorTime() - Returns a minimal lightweight representation of this Vector Time
suitable for network transport.
|
int[] | getValues() - Returns Vector clock values of this Vector clock
|
java.util.Collection | getVectorValues() - Returns Vector clock values of this Vector clock
|
void | increment() - Incerements owners current vector value by 1
|
int | indexOf(Address member) - Returns index of the given member represented by it's Address
|
boolean | isCausallyNext(TransportedVectorTime other) - Determines if the vector clock represented by TransportedVectorTime is
causally next to this VectorTime
|
void | max(TransportedVectorTime other) -
Maxes this VectorTime with the specified TransportedVectorTime.
|
void | merge(Vector newMembers) - Merges this VectorTime with new members of the group
VectorTime can possibly either grow or shrink
|
void | reset() - Resets all the values in this vector clock to 0
|
String | toString() - return String representation of the VectorTime
|
VectorTime
public VectorTime(Address owner)
Constructs VectorTime given an adress of a owning group member
owner
- Address of the owner group member
getMembers
public Collection getMembers()
Returns Collection containing addresses of other group members from this Vector clock
- Addresses of other group members
getOwnerIndex
public int getOwnerIndex()
Returns owner index in this VectorTime clock
- index of the owner of this VectorTime or -1 if not found
getTransportedVectorTime
public TransportedVectorTime getTransportedVectorTime()
Returns a minimal lightweight representation of this Vector Time
suitable for network transport.
- lightweight representation of this VectorTime in the
form of TransportedVectorTime object
getValues
public int[] getValues()
Returns Vector clock values of this Vector clock
- values of the Vector clock as an array
getVectorValues
public java.util.Collection getVectorValues()
Returns Vector clock values of this Vector clock
- values of the Vector clock
increment
public void increment()
Incerements owners current vector value by 1
indexOf
public int indexOf(Address member)
Returns index of the given member represented by it's Address
member
- group member represented by this Address
- index of the group member or -1 if not found
isCausallyNext
public boolean isCausallyNext(TransportedVectorTime other)
Determines if the vector clock represented by TransportedVectorTime is
causally next to this VectorTime
other
- TransportedVectorTime representation of vector clock
- true if the given TransportedVectorTime is the next causal to this VectorTime
max
public void max(TransportedVectorTime other)
Maxes this VectorTime with the specified TransportedVectorTime.
Updates this VectorTime as follows:
for every k:1...n VT(pj)[k] == max(VT(mi)[k],VT(pj)[k])
other
- TransportedVectorTime that is max-ed with this VectorTime
merge
public void merge(Vector newMembers)
Merges this VectorTime with new members of the group
VectorTime can possibly either grow or shrink
newMembers
- members of this group
reset
public void reset()
Resets all the values in this vector clock to 0
toString
public String toString()
return String representation of the VectorTime
- String representation of this VectorTime object
Copyright B) 1998-2005 Bela Ban. All Rights Reserved.