logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

cvs commit: spread/javaapps User.java recThread.java: msg#00021

Subject: cvs commit: spread/javaapps User.java recThread.java
jonathan    04/10/29 17:13:10

  Modified:    javaapps User.java recThread.java
  Log:
  Apply Ryan Caudy's rework of groups code to report multiple VS sets
  in membership messages. This breaks the SP API, althought some backwards
  compability code is included. Also fixes the Java interface to support
  new methods.
  
  Revision  Changes    Path
  1.4       +51 -45    spread/javaapps/User.java
  
  Index: User.java
  ===================================================================
  RCS file: /storage/cvsroot/spread/javaapps/User.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- User.java 5 Mar 2004 00:37:11 -0000       1.3
  +++ User.java 29 Oct 2004 21:13:09 -0000      1.4
  @@ -59,7 +59,7 @@
        // True if there is a listening thread.
        ///////////////////////////////////////
        private boolean listening;
  -        private recThread rt;
  +     private recThread rt;
   
        private void PrintMenu()
        {
  @@ -90,6 +90,55 @@
                }
                System.out.print("\tq -- quit\n");
        }
  +
  +     // Print this membership data.  Does so in a generic way so identical
  +     // function is used in recThread and User. 
  +     private void printMembershipInfo(MembershipInfo info) 
  +     {
  +             SpreadGroup group = info.getGroup();
  +             if(info.isRegularMembership()) {
  +                     SpreadGroup members[] = info.getMembers();
  +                     MembershipInfo.VirtualSynchronySet 
virtual_synchrony_sets[] = info.getVirtualSynchronySets();
  +                     MembershipInfo.VirtualSynchronySet 
my_virtual_synchrony_set = info.getMyVirtualSynchronySet();
  +
  +                     System.out.println("REGULAR membership for group " + 
group +
  +                                        " with " + members.length + " 
members:");
  +                     for( int i = 0; i < members.length; ++i ) {
  +                             System.out.println("\t\t" + members[i]);
  +                     }
  +                     System.out.println("Group ID is " + info.getGroupID());
  +
  +                     System.out.print("\tDue to ");
  +                     if(info.isCausedByJoin()) {
  +                             System.out.println("the JOIN of " + 
info.getJoined());
  +                     }       else if(info.isCausedByLeave()) {
  +                             System.out.println("the LEAVE of " + 
info.getLeft());
  +                     }       else if(info.isCausedByDisconnect()) {
  +                             System.out.println("the DISCONNECT of " + 
info.getDisconnected());
  +                     } else if(info.isCausedByNetwork()) {
  +                             System.out.println("NETWORK change");
  +                             for( int i = 0 ; i < 
virtual_synchrony_sets.length ; ++i ) {
  +                                     MembershipInfo.VirtualSynchronySet set 
= virtual_synchrony_sets[i];
  +                                     SpreadGroup         setMembers[] = 
set.getMembers();
  +                                     System.out.print("\t\t");
  +                                     if( set == my_virtual_synchrony_set ) {
  +                                             System.out.print( "(LOCAL) " );
  +                                     } else {
  +                                             System.out.print( "(OTHER) " );
  +                                     }
  +                                     System.out.println( "Virtual Synchrony 
Set " + i + " has " +
  +                                                         set.getSize() + " 
members:");
  +                                     for( int j = 0; j < set.getSize(); ++j 
) {
  +                                             System.out.println("\t\t\t" + 
setMembers[j]);
  +                                     }
  +                             }
  +                     }
  +             } else if(info.isTransition()) {
  +                     System.out.println("TRANSITIONAL membership for group " 
+ group);
  +             } else if(info.isSelfLeave()) {
  +                     System.out.println("SELF-LEAVE message for group " + 
group);
  +             }
  +     }
        
        private void DisplayMessage(SpreadMessage msg)
        {
  @@ -132,50 +181,7 @@
                        else if (msg.isMembership())
                        {
                                MembershipInfo info = msg.getMembershipInfo();
  -                             
  -                             if(info.isRegularMembership())
  -                             {
  -                                     SpreadGroup groups[] = msg.getGroups();
  -                             
  -                                     System.out.println("Received a REGULAR 
membership.");
  -                                     System.out.println("For group " + 
info.getGroup() + ".");
  -                                     System.out.println("With " + 
groups.length + " members.");
  -                                     System.out.println("I am member " + 
msg.getType() + ".");
  -                                     for(int i = 0 ; i < groups.length ; i++)
  -                                             System.out.println("  " + 
groups[i]);
  -                             
  -                                     System.out.println("Group ID is " + 
info.getGroupID());
  -                             
  -                                     System.out.print("Due to ");
  -                                     if(info.isCausedByJoin())
  -                                     {
  -                                             System.out.println("the JOIN of 
" + info.getJoined() + ".");
  -                                     }
  -                                     else if(info.isCausedByLeave())
  -                                     {
  -                                             System.out.println("the LEAVE 
of " + info.getLeft() + ".");
  -                                     }
  -                                     else if(info.isCausedByDisconnect())
  -                                     {
  -                                             System.out.println("the 
DISCONNECT of " + info.getDisconnected() + ".");
  -                                     }
  -                                     else if(info.isCausedByNetwork())
  -                                     {
  -                                             SpreadGroup stayed[] = 
info.getStayed();
  -                                             System.out.println("NETWORK 
change.");
  -                                             System.out.println("VS set has 
" + stayed.length + " members:");
  -                                             for(int i = 0 ; i < 
stayed.length ; i++)
  -                                                     System.out.println("  " 
+ stayed[i]);
  -                                     }
  -                             }
  -                             else if(info.isTransition())
  -                             {
  -                                     System.out.println("Received a 
TRANSITIONAL membership for group " + info.getGroup());
  -                             }
  -                             else if(info.isSelfLeave())
  -                             {
  -                                     System.out.println("Received a 
SELF-LEAVE message for group " + info.getGroup());
  -                             }
  +                             printMembershipInfo(info);
                        } else if ( msg.isReject() ) 
                        {
                                // Received a Reject message 
  
  
  
  1.4       +51 -44    spread/javaapps/recThread.java
  
  Index: recThread.java
  ===================================================================
  RCS file: /storage/cvsroot/spread/javaapps/recThread.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- recThread.java    5 Mar 2004 00:37:11 -0000       1.3
  +++ recThread.java    29 Oct 2004 21:13:09 -0000      1.4
  @@ -41,6 +41,56 @@
        public recThread(SpreadConnection aConn) {
                connection=aConn;
        }
  +
  +     // Print this membership data.  Does so in a generic way so identical
  +     // function is used in recThread and User. 
  +     private void printMembershipInfo(MembershipInfo info) 
  +     {
  +             SpreadGroup group = info.getGroup();
  +             if(info.isRegularMembership()) {
  +                     SpreadGroup members[] = info.getMembers();
  +                     MembershipInfo.VirtualSynchronySet 
virtual_synchrony_sets[] = info.getVirtualSynchronySets();
  +                     MembershipInfo.VirtualSynchronySet 
my_virtual_synchrony_set = info.getMyVirtualSynchronySet();
  +
  +                     System.out.println("REGULAR membership for group " + 
group +
  +                                        " with " + members.length + " 
members:");
  +                     for( int i = 0; i < members.length; ++i ) {
  +                             System.out.println("\t\t" + members[i]);
  +                     }
  +                     System.out.println("Group ID is " + info.getGroupID());
  +
  +                     System.out.print("\tDue to ");
  +                     if(info.isCausedByJoin()) {
  +                             System.out.println("the JOIN of " + 
info.getJoined());
  +                     }       else if(info.isCausedByLeave()) {
  +                             System.out.println("the LEAVE of " + 
info.getLeft());
  +                     }       else if(info.isCausedByDisconnect()) {
  +                             System.out.println("the DISCONNECT of " + 
info.getDisconnected());
  +                     } else if(info.isCausedByNetwork()) {
  +                             System.out.println("NETWORK change");
  +                             for( int i = 0 ; i < 
virtual_synchrony_sets.length ; ++i ) {
  +                                     MembershipInfo.VirtualSynchronySet set 
= virtual_synchrony_sets[i];
  +                                     SpreadGroup         setMembers[] = 
set.getMembers();
  +                                     System.out.print("\t\t");
  +                                     if( set == my_virtual_synchrony_set ) {
  +                                             System.out.print( "(LOCAL) " );
  +                                     } else {
  +                                             System.out.print( "(OTHER) " );
  +                                     }
  +                                     System.out.println( "Virtual Synchrony 
Set " + i + " has " +
  +                                                         set.getSize() + " 
members:");
  +                                     for( int j = 0; j < set.getSize(); ++j 
) {
  +                                             System.out.println("\t\t\t" + 
setMembers[j]);
  +                                     }
  +                             }
  +                     }
  +             } else if(info.isTransition()) {
  +                     System.out.println("TRANSITIONAL membership for group " 
+ group);
  +             } else if(info.isSelfLeave()) {
  +                     System.out.println("SELF-LEAVE message for group " + 
group);
  +             }
  +     }
  +
        private void DisplayMessage(SpreadMessage msg)
        {
                try
  @@ -83,50 +133,7 @@
                        else if ( msg.isMembership() )
                        {
                                MembershipInfo info = msg.getMembershipInfo();
  -                             
  -                             if(info.isRegularMembership())
  -                             {
  -                                     SpreadGroup groups[] = msg.getGroups();
  -                             
  -                                     System.out.println("Received a REGULAR 
membership.");
  -                                     System.out.println("For group " + 
info.getGroup() + ".");
  -                                     System.out.println("With " + 
groups.length + " members.");
  -                                     System.out.println("I am member " + 
msg.getType() + ".");
  -                                     for(int i = 0 ; i < groups.length ; i++)
  -                                             System.out.println("  " + 
groups[i]);
  -                             
  -                                     System.out.println("Group ID is " + 
info.getGroupID());
  -                             
  -                                     System.out.print("Due to ");
  -                                     if(info.isCausedByJoin())
  -                                     {
  -                                             System.out.println("the JOIN of 
" + info.getJoined() + ".");
  -                                     }
  -                                     else if(info.isCausedByLeave())
  -                                     {
  -                                             System.out.println("the LEAVE 
of " + info.getLeft() + ".");
  -                                     }
  -                                     else if(info.isCausedByDisconnect())
  -                                     {
  -                                             System.out.println("the 
DISCONNECT of " + info.getDisconnected() + ".");
  -                                     }
  -                                     else if(info.isCausedByNetwork())
  -                                     {
  -                                             SpreadGroup stayed[] = 
info.getStayed();
  -                                             System.out.println("NETWORK 
change.");
  -                                             System.out.println("VS set has 
" + stayed.length + " members:");
  -                                             for(int i = 0 ; i < 
stayed.length ; i++)
  -                                                     System.out.println("  " 
+ stayed[i]);
  -                                     }
  -                             }
  -                             else if(info.isTransition())
  -                             {
  -                                     System.out.println("Received a 
TRANSITIONAL membership for group " + info.getGroup());
  -                             }
  -                             else if(info.isSelfLeave())
  -                             {
  -                                     System.out.println("Received a 
SELF-LEAVE message for group " + info.getGroup());
  -                             }
  +                             printMembershipInfo(info);
                        } else if ( msg.isReject() )
                        {
                                // Received a Reject message 


<Prev in Thread] Current Thread [Next in Thread>