// $Id: ServerRMItoDemonIface.java,v 3.3 1998/12/09 20:07:45 mk2z Exp $
////////////////////////////////////////////////////////////////////////////
//
// File: ServerRMItoDemonIface.java
//
// Purpose: This file defines the interface that ServerRMI will
// export to its RegistryServer, and then passed to
// Demon.
//
// Authors:
// Orim Miro Kresonja mk2z@virginia.edu
//
// Modifications:
// 15-NOV-1998 Orim Initial creation
// 04-DEC-1998 Orim Added ConnectDemon, QuitDemon methods
//
////////////////////////////////////////////////////////////////////////////
import java.rmi.*;
public interface ServerRMItoDemonIface
extends java.rmi.Remote
{
///////////////////////////////////////////////////////////////////
//
// ConnectDemon - This is a stub for the ServerRMI's ConnectDemon
// method. The demon will ask for an initial map to display, at
// the same time confirming it can find the server in its proper
// place.
//
///////////////////////////////////////////////////////////////////
Map ConnectDemon ()
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// RegisterDemon -This is a stub for the ServerRMI's RegisterDemon
// method. The Demon will announce itself and pass its
// interface to ServerRMI. The Demon will be given a "password"
// fo identification.
//
///////////////////////////////////////////////////////////////////
int RegisterDemon (DemonRMIIface obj)
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// SubmitMode -This is a stub for the ServerRMI's SubmitMode
// method. The Demon picks what type the next run will have.
//
///////////////////////////////////////////////////////////////////
public boolean SubmitMode(int mode, int runs)
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// StartRun - This is a stub for the ServerRMI's StartRun
// method. The Demon needs to pass the server the simulation stats
// in order for the server to be able to execute the sim.
//
///////////////////////////////////////////////////////////////////
boolean StartRun (int propagation, long delay)
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// Abort - tells the server to stop the current run.
//
///////////////////////////////////////////////////////////////////
public boolean Abort()
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// Shutdown - That's Demon telling us that everybody needs to
// shut down.
//
///////////////////////////////////////////////////////////////////
boolean Shutdown ()
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// DemonQuit - This particular demon has been shut down.
//
///////////////////////////////////////////////////////////////////
void DemonQuit (int password)
throws RemoteException, Exception;
}
////////////////////////////////////////////////////////////////////////////