1 /* 2 * Copyright (c) 1998-2004 The Jgroup Team. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License version 2 as 6 * published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU Lesser General Public License for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this program; if not, write to the Free Software 15 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 * 17 */ 18 19 package jgroup.test.multicast; 20 21 import java.io.IOException; 22 import java.io.InputStream; 23 import java.io.ObjectInputStream; 24 25 import jgroup.core.GroupManager; 26 import jgroup.core.JgroupException; 27 import jgroup.core.MemberId; 28 import jgroup.core.MembershipListener; 29 import jgroup.core.View; 30 import jgroup.core.multicast.MulticastListener; 31 32 /** 33 * Simple multicast/total order test server. 34 * 35 * @author Hein Meling 36 * @since Jgroup 2.2 37 */ 38 public class TotalOrderTestReceive 39 implements MulticastListener, MembershipListener 40 { 41 42 //////////////////////////////////////////////////////////////////////////////////////////// 43 // Static fields 44 //////////////////////////////////////////////////////////////////////////////////////////// 45 46 /** Protocol name used to distinguish messages from other protocols. */ 47 private static final String PROTOCOL_NAME = "Total2"; 48 49 50 //////////////////////////////////////////////////////////////////////////////////////////// 51 // Constructor 52 //////////////////////////////////////////////////////////////////////////////////////////// 53 54 private TotalOrderTestReceive() 55 throws JgroupException, IOException 56 { 57 GroupManager gm = GroupManager.getGroupManager(this); 58 } 59 60 61 //////////////////////////////////////////////////////////////////////////////////////////// 62 // Main method 63 //////////////////////////////////////////////////////////////////////////////////////////// 64 65 public static void main(String[] argv) 66 throws Exception 67 { 68 TotalOrderTestReceive totc = new TotalOrderTestReceive(); 69 } 70 71 //////////////////////////////////////////////////////////////////////////////////////////// 72 // Methods from MembershipListener 73 //////////////////////////////////////////////////////////////////////////////////////////// 74 75 public void viewChange(View view) 76 { 77 System.out.println("View: " + view); 78 } 79 80 public void prepareChange() { } 81 82 public void hasLeft() { } 83 84 85 //////////////////////////////////////////////////////////////////////////////////////////// 86 // Methods from MulticastListener 87 //////////////////////////////////////////////////////////////////////////////////////////// 88 89 /** 90 * Returns a string naming the protocol implemented by this multicast 91 * listener. 92 */ 93 public String getProtocolName() 94 { 95 return PROTOCOL_NAME; 96 } 97 98 public Object deliverStream(InputStream stream, MemberId sender, int seqNo) 99 { 100 String s = null; 101 try { 102 ObjectInputStream ios = new ObjectInputStream(stream); 103 s = ios.readUTF(); 104 } catch (IOException e) { 105 e.printStackTrace(); 106 } 107 System.out.println("TotalOrderTestReceive: deliverStream: " + s); 108 return null; 109 } 110 111 112 public Object deliverObject(Object obj, MemberId sender, int seqNo) 113 { 114 System.out.println("MulticastTestServer: deliverObject: " + obj); 115 return null; 116 } 117 118 } // END MulticastObjectServer