Package org.jgroups.protocols.pbcast
Class DeltaView
java.lang.Object
org.jgroups.View
org.jgroups.protocols.pbcast.DeltaView
- All Implemented Interfaces:
Comparable<View>,Iterable<Address>,Constructable<View>,SizeStreamable,Streamable
Subclass of
View with a null members field. Adds an array for left members and one for joined
members compared to the previous view. A recipient receiving a DeltaView can construct a new view by grabbing the
view corresponding to View.view_id, removing the left members and adding the new members.
This class is only used with VIEW messages in GMS to install new views (not merge views). When a VIEW
message is received, the DeltaView is read from the GMS.GmsHeader, a View is
constructured and the header discarded. Therefore, the lifetime of a DeltaView is short: it is created and set in
a GmsHeader, the header is then marshalled. On the receiving side, the DeltaView is created from the stream, a View
is created and the DeltaView discarded again.
Instances of this class are created by CoordGmsImpl.handleMembershipChange(java.util.Collection).
JIRA issue: https://issues.redhat.com/browse/JGRP-1354
- Since:
- 3.4
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Address[]Members which left the view corresponding to ref_view_idprotected Address[]Members which joined the view corresponding to ref_view_idprotected ViewIdThe fields left_members and new_members refer to the view corresponding to ref_view_idFields inherited from class org.jgroups.View
members, suppress_view_size, view_id -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAddress[]Address[]iterator()voidRead the state of the current object (including superclasses) from instream Note that the input stream must not be closedintReturns the size (in bytes) of the marshalled objecttoString()voidwriteTo(DataOutput out) Write the entire state of the current object (including superclasses) to outstream.Methods inherited from class org.jgroups.View
compareTo, containsMember, containsMembers, create, create, create, deepEquals, diff, equals, getCoord, getCreator, getMembers, getMembersRaw, getViewId, hashCode, leftMembers, newMembers, printDiff, sameMembers, sameMembersOrdered, sameViews, sameViews, sizeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
ref_view_id
The fields left_members and new_members refer to the view corresponding to ref_view_id -
left_members
Members which left the view corresponding to ref_view_id -
new_members
Members which joined the view corresponding to ref_view_id
-
-
Constructor Details
-
DeltaView
public DeltaView() -
DeltaView
-
-
Method Details
-
getRefViewId
-
getLeftMembers
-
getNewMembers
-
serializedSize
public int serializedSize()Description copied from interface:SizeStreamableReturns the size (in bytes) of the marshalled object- Specified by:
serializedSizein interfaceSizeStreamable- Overrides:
serializedSizein classView
-
writeTo
Description 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- Overrides:
writeToin classView- Throws:
IOException
-
readFrom
Description 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- Overrides:
readFromin classView- Throws:
IOExceptionClassNotFoundException
-
iterator
-
toString
-