File Overlay/YMMOG/YMMOGMessage.msg
Contains:
cplusplus {{
#include <vector>
#include "SubSpace.h"
#include "Event.h"
#include "PlayerNode.h"
#include <IPvXAddress.h>
#include "GameState.h"
#include "TreeNode.h"
}};
struct IPAddress;
struct SubSpace;
struct Event;
struct PlayerNode;
struct GameState;
struct TreeNode;
enum Command
{
LOGIN = 0;
LOGOUT = 1;
SUBSCRIBE = 2;
UNSUBSCRIBE = 3;
PUBLISH = 4;
CREATE = 5;
REQUESTIP = 6;
UPDATERESPIP =7;
PUBLISHEVENTLIST = 8;
PING = 9;
PLAYERLIST = 10;
REQUESTNODE = 11;
REPLACEMENT = 12;
DELAY = 13;
REPLACEINT = 14;
STABILIZE = 15;
};
enum NodeClass
{
RESPONSIBLENODE = 0;
BACKUPNODE = 1;
INTERMEDIATENODE = 2;
};
enum ServiceType
{
REQUEST = 0;
RESPONSE = 1;
CONFIRMATION = 2;
FORWARD = 3;
};
enum JobType
{
CREATENODE = 0;
DELETENODE = 1;
}
enum Action
{
COMPLETE = 0;
ADD = 1;
REMOVE = 2;
}
message YMMOGMessage {
fields:
double timeStamp;
int failed;
int command;
int ServiceType;
IPAddress destip;
IPAddress srcip;
};
message LoginMessage extends YMMOGMessage {
fields:
int id;
int bandwith;
int cpu;
int xpos;
int ypos;
int subSpaceSize;
int gameSpaceSize;
SubSpace responsibleNodes[];
}
message LogoutMessage extends YMMOGMessage {
fields:
int id;
bool successfull;
}
message CreateNodeMessage extends YMMOGMessage {
fields:
int nodeType;
int jobType;
bool creationSuccessfull;
SubSpace subSpaceToCreate;
}
message SubscribeMessage extends YMMOGMessage {
fields:
int playerId;
IPAddress playerIp;
int subSpaceId;
GameState gameState;
}
message UnSubscribeMessage extends YMMOGMessage {
fields:
int playerId;
IPAddress playerIp;
int subSpaceId;
}
message PublishMessage extends YMMOGMessage {
fields:
int playerId;
int subSpaceId;
Event publishedEvent;
}
message PublishEventListMessage extends YMMOGMessage {
fields:
int timeSlot;
double sent;
IPAddress sender;
int subSpaceId;
Event eventList[];
}
message RequestIpMessage extends YMMOGMessage {
fields:
int subSpaceId;
int nodeType;
IPAddress requestedIp;
}
message UpdateRespIpMessage extends YMMOGMessage {
fields:
int subSpaceId;
int direction;
IPAddress updatedIp;
}
message PingMessage extends YMMOGMessage {
fields:
double sent;
}
message PlayerListMessage extends YMMOGMessage {
fields:
double timeStamp;
int subSpaceId;
int action;
TreeNode tree[];
}
message RequestNodeMessage extends YMMOGMessage {
fields:
int subSpaceId;
int nodeType;
}
message ReplacementMessage extends YMMOGMessage {
fields:
int subSpaceId;
int sendGameState;
GameState gameState;
}
message DelayMessage extends YMMOGMessage {
fields:
double delay;
int subSpaceId;
IPAddress fromIp;
}
message ReplaceIntermediateNodeMessage extends YMMOGMessage {
fields:
int subSpaceId;
SubSpace subSpace;
IPAddress toReplace;
IPAddress ipList[];
}
message ClientLogin extends YMMOGMessage {
fields:
int playerId;
int xpos;
int ypos;
int gameSpaceSize;
}
message ClientEvent extends YMMOGMessage {
fields:
Event event;
}
message ClientEventList extends YMMOGMessage {
fields:
Event eventList[];
}
message StabilizeMessage extends YMMOGMessage {
fields:
int subSpaceId;
int nodeType;
bool correct;
SubSpace subSpace;
}