1 /* 2 * Copyright (c) 1998-2002 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.relacs.gm; 20 21 import jgroup.core.JgroupException; 22 import jgroup.core.Layer; 23 24 /** 25 * Service interface for the dispatcher layer. It provides methods 26 * to add the start and stop the dispatcher, and to force the 27 * dispatching of a single event. 28 * 29 * @author Alberto Montresor 30 * @author Hein Meling 31 * @since 0.8 32 */ 33 public interface DispatcherService 34 extends Layer 35 { 36 37 /** 38 * Start dispatching events for the given group. 39 */ 40 public void start(int gid); 41 42 43 /** 44 * Stop dispatching events 45 */ 46 public void halt(); 47 48 49 /** 50 * Dispatch a single event (can be called by an upcall method) 51 */ 52 public void dispatch(Object obj); 53 54 55 /** 56 * Returns the remote dispatcher reference. 57 * 58 * @throws JgroupException 59 * Raised if the dispatcher service could be not export 60 * for remote access by the Jgroup daemon. 61 */ 62 public RemoteDispatcher getRemoteDispatcher() 63 throws JgroupException; 64 65 } // END DispatcherService