dk.brics.bisim.controller
Interface MessagePasser

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
MessagePasserImpl

public interface MessagePasser
extends java.rmi.Remote

A global class passing messages between players.

Author:
Martin Mosegaard martinm@daimi.au.dk

Method Summary
 void quit(int clientServerRole)
          Notifies listeners that a player wants to quit, and unregisters that player.
 void registerGameController(GameController c, int clientServerRole)
          Registers a local game controller, such that it may receive messages.
 void sendMessage(int messageNumber, java.lang.String message)
          Used for sending move messages between game controllers.
 void talk(int clientServerRole, java.lang.String message)
          Used for sending chat messages to the other player.
 

Method Detail

registerGameController

void registerGameController(GameController c,
                            int clientServerRole)
                            throws java.rmi.RemoteException
Registers a local game controller, such that it may receive messages. Will register at most two game controllers.

Parameters:
c - A game controller
clientServerRole - The role of the game controller
Throws:
java.rmi.RemoteException

sendMessage

void sendMessage(int messageNumber,
                 java.lang.String message)
                 throws java.rmi.RemoteException
Used for sending move messages between game controllers.

Parameters:
messageNumber - A message number
message - An encoded message
Throws:
java.rmi.RemoteException
See Also:
Protocol

quit

void quit(int clientServerRole)
          throws java.rmi.RemoteException
Notifies listeners that a player wants to quit, and unregisters that player.

Throws:
java.rmi.RemoteException

talk

void talk(int clientServerRole,
          java.lang.String message)
          throws java.rmi.RemoteException
Used for sending chat messages to the other player.

Parameters:
clientServerRole - The role of the player sending a message, used to identify the other
message - The message
Throws:
java.rmi.RemoteException