Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | Related Pages | Examples

Ganef Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
AverageTimeCalculator< precision, default_value, min_value, max_value >This template-class can summarize values and keep a running average on them. The precision, min/max, and default are all set at compile-time. It is intended for use with milliseconds
ClientAn object of this class represents a client currently connected to the server. You should create your own class inheriting from this one so you can associate any data you wish with a client/player in the game
ClientDataThis interface must be implemented by data on the client. It is very important that the constructor of the subclass calls the constructor of ClientData before reading from the framework packet. This ensures that reading of data is not mixed
ClientDataMapThis class is used for handling the data elements of the client. It will make sure that elements pointing to objects which haven't been initilized will be set to point at the correct element after it has been initilized. It will also manage the deletion of objects and ensure that objects pointing to deleted objects will recieve a null poiter
ClientFrameworkThis class is the framework on the client. With sender, reciever, pending-ack-list and all client data. This is the class you must inherit from on the client side of your game
ClientPacketThis packet is used from the client-side when sending/receiving packets
Framework< PacketType, SocketType >The general interface for a framework
FrameworkDataThe common interface for data on both sender and reciever side
FrameworkErrorThis struct is used when throwing exceptions
FrameworkPacketThis class is a UDP-packet, partly read by the framework, This gives us some knowledge of what is inside the packet
FrameworkPacket::HeaderStructure describing the "header" of the packet
FrameworkPacket::PeerStructThis holds info about who the message is for or who it is from, depending on `incomming`
FrameworkSeqNoList< PacketType, SocketType >This class takes care of keeping track of ingoing/outgoing sequence numbers. It contains two sequencenumbers for each priority (0-255), and two for the plugin-packets
OakBinaryMinHeap< E, Comparer >Just an ordenary binary min-heap. Well not completely, because this one also has both semaphore and mutex capabilities. Hence a thread will block when trying to get an element from the heap if its empty(semaphore), and only one thread is manipulating the heap at any time (mutex)
PacketChainStep< PacketType >This is the interface that a step in a PacketChain must implement. All plugins implement this method, as do the queues
PacketErrorThis struct is used when throwing packet related exceptions
PacketReceiver< PacketType, SocketType >This class receives UDP packets and places them in the ingoing queue. It also handlings general Framework jobs, like sending Acks back if the packet was set as reliable, etc
PacketSender< PacketType, SocketType >This class sends packets across the network. It runs in it's own thread, constantly trying to empty the outqueue. Since the outqueue works as a semaphore, we have a producer-consumer setup
PendingAck< PacketType, SocketType >An object of this class represents a reliable package sent, and how long there is before it times out
PendingAckKeyCompare< PacketType, SocketType >This struct can sort the PendingAck for easy retrieval of a certain one, when we get an Ack
PendingAckList< PacketType, SocketType >This is the class keeping the list of pending acks. It runs as its own thread, hence it can resend messages that are not Acknowledged in time
PendingAckTimtoutCompare< PacketType, SocketType >This comparerer structure is used to sort the PendingAck in the heap
Plugin< PacketType >This interface is for plugins. It is assumed that plugins have both a "pack(p)" and an "unpack(p)"
PreSendingChain< PacketType >This is a chain of plugins(PacketChainStep) ending with the outbound queue
Queue< PacketType >A superclass for the queues containing most of the implementation
QueueComparer< PacketType >Compare structure used to sort PacketType in the queue
QueueDeletorThis struct is used to delete all messages for a certain client (when that client disconnects)
QueueElement< PacketType >This represents a PacketType in the Queue, priority and sequence number are set upon insertion
ServerDataThis is the interface implemented by all data residing on the server. When your data-classes inherit from this class they must implement the fillXXX methods. This is how the packets used to update/construct a client version of the object are created
ServerFrameworkThis class is the framework on the server. it contains a list of connected clients, a sender, a reciever, pending-ack-list and all the data used to represent the gameworld
ServerPacketThis packet is used from the server-side when sending/receiving packets

Generated on Mon Feb 6 12:24:51 2006 for Ganef by  doxygen 1.4.4