//     $Id: ClientRMIIface.java,v 3.0 1998/11/23 20:08:31 smg9c Exp $    
 ////////////////////////////////////////////////////////////////////////////
 //
 // File: ClientRMIIface.java
 //
 // Purpose: This file defines the interface that ClientRMI will
 //         offer to the ServerRMI, so that the ServerRMI knows how to 
 //        invoke methods on specific clients.
 //
 // Authors:
 //  Orim   Miro Kresonja  mk2z@virginia.edu
 //  rgb    Rob Bartholet  
 //
 // Modifications:
 //   02-NOV-1998  Orim  Initial creation
 //   06-NOV-1998  rgb   Added version control header info
 //   15-NOV-1998  Orim  Initial modifications for version 3.0
 //   18-NOV-1998  txe   Fixed exceptions
 //
 ////////////////////////////////////////////////////////////////////////////
 import java.rmi.*;
 public interface ClientRMIIface
     extends java.rmi.Remote
 {
   ///////////////////////////////////////////////////////////////////
   //
   //  ReceiveMap - This is a stub for the ClientRMI's ReceiveMap 
   //  method. The ServerRMI will use this method to hand whole 
   //  Maps to all clients.
   //   
   ///////////////////////////////////////////////////////////////////
   void ReceiveMap (Map m)
   throws RemoteException, Exception;
   ///////////////////////////////////////////////////////////////////
   //
   //  ReceiveStats - This is a stub for the ClientRMI's ReceiveStats
   //  method. The ServerRMI will use this method to hand Stats 
   //  objects to all clients.
   //   
   ///////////////////////////////////////////////////////////////////
   void ReceiveStats (Stats stats)
   throws RemoteException, Exception;
   ///////////////////////////////////////////////////////////////////
   //
   //  Shutdown - serverRMI telling the client its job is over.
   //   
   ///////////////////////////////////////////////////////////////////
   void Shutdown ()
   throws RemoteException, Exception;
 }
 ////////////////////////////////////////////////////////////////////////////