Author: fhanik Date: Tue May 23 05:32:10 2006 New Revision: 408881 URL: http://svn.apache.org/viewvc?rev=408881&view=rev Log: Far from over
Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java?rev=408881&r1=408880&r2=408881&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java Tue May 23 05:32:10 2006 @@ -79,7 +79,9 @@ * To synchronize the rest we simply perform the following check at A when A receives X:<br> * Original X{A-ldr, A-src, mbrs-A,B,C,D} == Arrived X{A-ldr, A-src, mbrs-A,B,C,D,E}<br> * Since the condition is false, A, will resend the token, and A sends X{A-ldr, A-src, mbrs-A,B,C,D,E} to B - * When A receives X again, the token is complete. + * When A receives X again, the token is complete. <br> + * Optionally, A can send a message X{A-ldr, A-src, mbrs-A,B,C,D,E confirmed} to A,B,C,D,E who then + * install and accept the view. * </p> * <p> * Lets assume that C1 arrives, C1 has lower priority than C, but higher priority than D.<br> @@ -188,7 +190,7 @@ suggestedview.addMember((MemberImpl)local); Arrays.fill(suggestedview,mbrs); suggestedviewId = new UniqueId(UUIDGenerator.randomUUID(true)); - CoordinationMessage msg = new CoordinationMessage(local,local,suggestedview.getMembers(),suggestedviewId); + CoordinationMessage msg = new CoordinationMessage(local,local,suggestedview.getMembers(),suggestedviewId,COORD_REQUEST); for (int i=0; i<mbrs.length; i++ ) { try { sendMessage(msg,mbrs[i]); @@ -370,6 +372,7 @@ protected MemberImpl source; protected MemberImpl[] view; protected UniqueId id; + protected byte[] type; public CoordinationMessage(XByteBuffer buf) { this.buf = buf; @@ -378,12 +381,14 @@ public CoordinationMessage(MemberImpl leader, MemberImpl source, MemberImpl[] view, - UniqueId id) { + UniqueId id, + byte[] type) { this.buf = new XByteBuffer(4096,false); this.leader = leader; this.source = source; this.view = view; this.id = id; + this.type = type; this.write(); } @@ -412,6 +417,11 @@ return view; } + public byte[] getType() { + if (type == null ) parse(); + return type; + } + public XByteBuffer getBuffer() { return this.buf; } @@ -448,6 +458,10 @@ //id this.id = new UniqueId(buf.getBytesDirect(),offset,16); offset += 16; + type = new byte[16]; + System.arraycopy(buf.getBytesDirect(), offset, type, 0, type.length); + offset += 16; + } public void write() { @@ -473,6 +487,7 @@ } //id buf.append(id.getBytes(),0,id.getBytes().length); + buf.append(type,0,type.length); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]