public String toString() { switch(type) { case JOIN: return "JOIN(" + mbr + ")"; case LEAVE: return "LEAVE(" + mbr + ", " + suspected + ")"; case SUSPECT: return "SUSPECT(" + mbr + ")"; case MERGE: return "MERGE(" + coordinators + ")"; case VIEW: return "VIEW (" + view.getVid() + ")"; } return "<invalid (type=" + type + ")"; }
/** * Does nothing. Discards all views while still client. */ public synchronized void handleViewChange(View new_view, Digest digest) { if(log.isTraceEnabled()) log.trace("view " + new_view.getVid() + " is discarded as we are not a participant"); }
private long currentViewId() { long viewId = -1; synchronized (sharedLock) { ViewId view = currentView.getVid(); if (view != null) { viewId = view.getId(); } } return viewId; }
/** * Create a copy of view which contains only members which are present in hosts. Call viewAccepted() on the MuxChannel * which corresponds with service. If no members are removed or added from/to view, this is a no-op. * @param hosts List<Address> * @return the servicd view (a modified copy of the real view), or null if the view was not modified */ private View generateServiceView(List hosts) { Vector<Address> members=new Vector<Address>(view.getMembers()); members.retainAll(hosts); return new View(view.getVid(), members); }
/** In case we get a different JOIN_RSP from a previous JOIN_REQ sent by us (as a client), we simply apply the * new view if it is greater than ours * * @param join_rsp */ public void handleJoinResponse(JoinRsp join_rsp) { View v=join_rsp.getView(); ViewId tmp_vid=v != null? v.getVid() : null; if(tmp_vid != null && gms.view_id != null && tmp_vid.compareTo(gms.view_id) > 0) { gms.installView(v); } }
private MetaValue createViewMetaValue(View view) { Map<String, MetaValue> viewMap = new HashMap<String, MetaValue>(); viewMap.put("id", SimpleValueSupport.wrap(view.getVid().getId())); viewMap.put("creator", SimpleValueSupport.wrap(view.getCreator().toString())); Vector<Address> members = view.getMembers(); MetaValue[] memberValues = new MetaValue[members.size()]; for (int i = 0; i < memberValues.length; i++) { memberValues[i] = SimpleValueSupport.wrap(members.get(i).toString()); } viewMap.put("members", new CollectionValueSupport(MEMBERS_TYPE, memberValues)); if (memberValues.length > 0) { viewMap.put("coordinator", memberValues[0]); } MetaValue viewValue = new MapCompositeValueSupport(viewMap, VIEW_TYPE); return viewValue; }
private void handleViewChange(View view) { Vector tmp=view.getMembers(); if(tmp != null) { mbrs.clear(); mbrs.addAll(tmp); } my_view=(View)view.clone(); my_vid=my_view.getVid(); if(my_view.size() > 1) { startViewSender(); } else { stopViewSender(); } }
GroupView(View newView, GroupView previousView, ClusterNodeFactory factory) { this.viewId = newView.getVid().getId(); this.jgmembers = new ArrayList<Address>(newView.getMembers()); this.coordinator = this.jgmembers.size() == 0 ? null : this.jgmembers.get(0); this.allMembers = translateAddresses(newView.getMembers(), factory); this.deadMembers = getDeadMembers(previousView.allMembers, allMembers); this.newMembers = getNewMembers(previousView.allMembers, allMembers); if (newView instanceof MergeView) { MergeView mergeView = (MergeView) newView; List<View> subgroups = mergeView.getSubgroups(); this.originatingGroups = new ArrayList<List<ClusterNode>>(subgroups.size()); for (View view : subgroups) { this.originatingGroups.add(translateAddresses(view.getMembers(), factory)); } } else { this.originatingGroups = null; } } }
private void handleView(View v, Address sender) { Vector members=v.getMembers(); if(!members.contains(local_addr)) { if(log.isWarnEnabled()) log.warn("discarding view as I (" + local_addr + ") am not member of view (" + v + ")"); return; } ViewId vid=v.getVid(); int rc=vid.compareTo(my_vid); if(rc > 0) { // foreign view is greater than my own view; update my own view ! if(log.isTraceEnabled()) log.trace("view from " + sender + " (" + vid + ") is greater than my own view (" + my_vid + ");" + " will update my own view"); Message view_change=new Message(local_addr, local_addr, null); org.jgroups.protocols.pbcast.GMS.GmsHeader hdr; hdr=new org.jgroups.protocols.pbcast.GMS.GmsHeader(org.jgroups.protocols.pbcast.GMS.GmsHeader.VIEW, v); view_change.putHeader(GMS.name, hdr); up_prot.up(new Event(Event.MSG, view_change)); num_views_adjusted++; } }
public void viewChange(View view) { if (clusteredSipStack.getStackLogger().isLoggingEnabled(StackLogger.TRACE_DEBUG)) { clusteredSipStack.getStackLogger().logDebug("sipStack " + clusteredSipStack + " View changed : " + view.getVid()); } }
@ViewChanged public void viewChange(org.jboss.cache.notifications.event.ViewChangedEvent viewChangedEvent) { if (clusteredlogger.isLoggingEnabled(StackLogger.TRACE_DEBUG)) { clusteredlogger.logDebug("sipStack " + clusteredSipStack + " View changed : " + viewChangedEvent.getNewView().getVid()); } }
log.trace("sending merge view " + v.getVid() + " to coordinators " + coords);
GroupView(View newView, GroupView previousView, ClusterNodeFactory factory) { this.viewId = newView.getVid().getId(); this.jgmembers = cloneMembers(newView); this.coordinator = this.jgmembers.size() == 0 ? null : this.jgmembers.elementAt(0); this.allMembers = translateAddresses(newView.getMembers(), factory); this.deadMembers = getDeadMembers(previousView.allMembers, allMembers); this.newMembers = getNewMembers(previousView.allMembers, allMembers); if(newView instanceof MergeView) { MergeView mergeView = (MergeView) newView; Vector<View> subgroups = mergeView.getSubgroups(); this.originatingGroups = new Vector<List<ClusterNode>>(subgroups.size()); for (View view : subgroups) { this.originatingGroups.add(translateAddresses(view.getMembers(), factory)); } } else { this.originatingGroups = null; } } }
control.viewNumber.setText("" + vw.getVid().getId()); control.numMessagesInLastView.setText("" + counter); counter = 0;
tmp_view=tmp_data.getView(); if(tmp_view != null) { tmp_vid=tmp_view.getVid(); if(tmp_vid != null) {
GmsHeader hdr; long start, stop; ViewId vid=new_view.getVid(); int size=-1;
InternalView iView=new InternalView(view.getVid(), view.getMembers(), localAddress);
View tmp=(View)evt.getArg(); if(tmp instanceof MergeView) my_view=new View(tmp.getVid(), tmp.getMembers()); else my_view=tmp;