Provides classes for sending moves and commands between the client and server.


Interface Summary
Connection2Client Defines the methods the server can use to send messages to the client.
Connection2Server Defines the methods a client can use to send messages to the server.
GameServer Defines a server that can accept connections to clients.
MoveReceiver Accepts a Move without the caller knowing where its going.
SavedGamesManager Defines methods that let the server load and save game states, and get blank maps for new games.
ServerCommandReceiver Defines a method that accepts a command to be sent to the server.
ServerGameModel Defines methods on a GameModel that let the server load and initiate, and save it.
UntriedMoveReceiver Lets the caller test moves.

Class Summary
AbstractEchoGameServerTestCase Test cases that use EchoGameServer should extend this class.
AbstractFreerailsServerTestCase Test cases that use FreerailsGameServer and connect over the Internet should extend this class .
AbstractInetConnection This class has the code that is shared by the client and server versions of InetConnection.
EchoGameServer Implementation of GameServer that simply echoes whatever clients send it.
FreerailsClient A client for FreerailsGameServer.
FreerailsGameServer When executed by a thread, this class does the following: reads and executes moves and commands received from connected clients; sends moves and commands to connected clients.
InetConnection Provides methods send objects over the Internet, and connect and disconnect gracefully.
InetConnection2Client Lets the server send messages to a client over the Internet.
InetConnection2Server Lets a client send messages to the server over the Internet.
InetConnectionAccepter When this class is run in a thread it accepts new connections to its Server Socket and adds them to the NewGameServer that was passed to its constructor.
LoadGameMessage2Server Request to load a game.
LocalConnection A connection between the a client and server in the same JVM.
LogOnRequest A client sends an instance of this class to the server when it wishes to log on.
LogOnResponse Stores the result of a request to log onto the server.
MoveChainFork A central point at which a client may register to receive moves which have been committed.
MovePrecommitter The class pre-commits moves we intend to send to the server and either fully commits or undoes them depending on the server's response.
NameAndPassword Used by the server to store a player's username and password.
NewGameMessage2Server Request to start a game on a new map.
RefreshListOfGamesMessage2Server Tells the server to check the filesystem for changes to the available new maps and saved games.
SavedGamesManager4UnitTests Stores saved games in memory rather than on disk.
SaveGameMessage2Server A request to save the game.
SetPropertyMessage2Client A Message2Client that lets the server set a property (for example, the list of saved games available) on a client.
SetWorldMessage2Client Sent from the server to the client when (i) a new game is started, (ii) a game is loaded, or (iii) the client connects to a game in progress.
SimpleServerGameModel A ServerGameModel that has a world object but no automation.
SychronizedQueue Intended to let objects be safely passed between threads.
SynchronizedFlag Synchronized flag - used to tell threads whether they should keep going.

Package Description

Provides classes for sending moves and commands between the client and server. Note, the classes in this package are now used by the game.