Name | Description |
---|---|
PubSubTimerType (enum) | |
PubSubHelpType (enum) | (no description) |
PubSubPingType (enum) | (no description) |
PubSubTimer (message) | (no description) |
PubSubJoinCall (packet) | (no description) |
PubSubJoinResponse (packet) | (no description) |
PubSubResponsibleNodeCall (packet) | (no description) |
PubSubResponsibleNodeResponse (packet) | (no description) |
PubSubTakeOverSubspaceCall (packet) | (no description) |
PubSubTakeOverSubspaceResponse (packet) | (no description) |
PubSubSubscriptionCall (packet) | (no description) |
PubSubSubscriptionResponse (packet) | (no description) |
PubSubUnsubscriptionMessage (packet) | (no description) |
PubSubHelpCall (packet) | (no description) |
PubSubHelpResponse (packet) | (no description) |
PubSubIntermediateCall (packet) | (no description) |
PubSubIntermediateResponse (packet) | (no description) |
PubSubBackupCall (packet) | (no description) |
PubSubBackupResponse (packet) | (no description) |
PubSubPingCall (packet) | (no description) |
PubSubPingResponse (packet) | (no description) |
PubSubReplacementMessage (packet) | (no description) |
PubSubFailedNodeMessage (packet) | (no description) |
PubSubNodeLeftMessage (packet) | (no description) |
PubSubAdoptChildCall (packet) | (no description) |
PubSubAdoptChildResponse (packet) | (no description) |
PubSubReleaseIntermediateMessage (packet) | (no description) |
PubSubHelpReleaseMessage (packet) | (no description) |
PubSubBackupSubscriptionMessage (packet) | (no description) |
PubSubBackupIntermediateMessage (packet) | (no description) |
PubSubBackupUnsubscribeMessage (packet) | (no description) |
PubSubMoveMessage (packet) | (no description) |
PubSubMoveListMessage (packet) | (no description) |
// // Copyright (C) 2006 Institut fuer Telematik, Universitaet Karlsruhe (TH) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // // @file PubSubMessage.msg // @author Stephan Krause // cplusplus {{ #include <CommonMessages_m.h> #include <Vector2D.h> static const int PUBSUB_FLAG_L = 8; static const int PUBSUB_VECTOR_L = 128; static const int PUBSUB_RESS_L = 32; static const int PUBSUB_SUBSPACE_L = 32; static const int PUBSUB_CHILDPOS_L = 16; static const int PUBSUB_TIMESTAMP_L = 32; #define PUBSUB_JOINCALL_L(msg) (BASECALL_L(msg) + PUBSUB_VECTOR_L + PUBSUB_RESS_L) #define PUBSUB_JOINRESPONSE_L(msg) (BASECALL_L(msg) + NODEHANDLE_L) #define PUBSUB_RESPONSIBLENODECALL_L(msg) (BASECALL_L(msg) + PUBSUB_VECTOR_L) #define PUBSUB_RESPONSIBLENODERESPONSE_L(msg) (BASECALL_L(msg) + NODEHANDLE_L) #define PUBSUB_TAKEOVERSUBSPACECALL_L(msg) (BASECALL_L(msg) + PUBSUB_VECTOR_L) #define PUBSUB_TAKEOVERSUBSPACERESPONSE_L(msg) (BASECALL_L(msg)) #define PUBSUB_SUBSCRIPTIONCALL_L(msg) (BASECALL_L(msg) + PUBSUB_SUBSPACE_L) #define PUBSUB_SUBSCRIPTIONRESPONSE_L(msg) (BASECALL_L(msg) + PUBSUB_FLAG_L) #define PUBSUB_UNSUBSCRIPTION_L(msg) (NODEHANDLE_L + PUBSUB_SUBSPACE_L) #define PUBSUB_HELPCALL_L(msg) (BASECALL_L(msg) + PUBSUB_SUBSPACE_L + PUBSUB_FLAG_L) #define PUBSUB_HELPRESPONSE_L(msg) (BASECALL_L(msg) + NODEHANDLE_L) #define PUBSUB_INTERMEDIATECALL_L(msg) (BASECALL_L(msg) + PUBSUB_SUBSPACE_L) #define PUBSUB_INTERMEDIATERESPONSE_L(msg) (BASECALL_L(msg)) #define PUBSUB_BACKUPCALL_L(msg) (BASECALL_L(msg) + msg->getIntermediatesArraySize()*NODEHANDLE_L + msg->getChildrenArraySize()*(NODEHANDLE_L+PUBSUB_CHILDPOS_L)) #define PUBSUB_BACKUPRESPONSE_L(msg) (BASECALL_L(msg)) #define PUBSUB_PINGCALL_L(msg) (BASECALL_L(msg) + PUBSUB_SUBSPACE_L + PUBSUB_FLAG_L) #define PUBSUB_PINGRESPONSE_L(msg) (BASECALL_L(msg)) #define PUBSUB_REPLACEMENT_L(msg) (PUBSUB_SUBSPACE_L + NODEHANDLE_L) #define PUBSUB_FAILEDNODE_L(msg) (IPADDR_L + UDPPORT_L) #define PUBSUB_NODELEFT_L(msg) (PUBSUB_SUBSPACE_L + NODEHANDLE_L) #define PUBSUB_ADOPTCHILDCALL_L(msg) (BASECALL_L(msg) + PUBSUB_SUBSPACE_L + NODEHANDLE_L) #define PUBSUB_ADOPTCHILDRESPONSE_L(msg) (BASECALL_L(msg)) #define PUBSUB_RELEASEINTERMEDIATE_L(msg) (PUBSUB_SUBSPACE_L) #define PUBSUB_HELPRELEASE_L(msg) (PUBSUB_SUBSPACE_L + NODEHANDLE_L) #define PUBSUB_BACKUPSUBSCRIPTION_L(msg) (PUBSUB_SUBSPACE_L + NODEHANDLE_L*3) #define PUBSUB_BACKUPINTERMEDIATE_L(msg) (PUBSUB_SUBSPACE_L + NODEHANDLE_L + PUBSUB_CHILDPOS_L) #define PUBSUB_BACKUPUNSUBSCRIBE_L(msg) (PUBSUB_SUBSPACE_L + NODEHANDLE_L*2) #define PUBSUB_MOVE_L(msg) (PUBSUB_SUBSPACE_L + NODEHANDLE_L + PUBSUB_VECTOR_L + PUBSUB_TIMESTAMP_L) #define PUBSUB_MOVELIST_L(msg) (PUBSUB_SUBSPACE_L + PUBSUB_TIMESTAMP_L + msg->getPlayerArraySize()*(NODEHANDLE_L+PUBSUB_VECTOR_L)) }} class noncobject NodeHandle; class noncobject TransportAddress; class noncobject Vector2D; class BaseOverlayMessage; class BaseCallMessage; class BaseResponseMessage; enum PubSubTimerType { PUBSUB_HEARTBEAT = 0; PUBSUB_CHILDPING = 1; PUBSUB_PARENT_TIMEOUT = 2; PUBSUB_TAKEOVER_GRACE_TIME = 3; PUBSUB_EVENTDELIVERY = 4; } enum PubSubHelpType { PUBSUB_BACKUP = 0; PUBSUB_INTERMEDIATE = 1; } enum PubSubPingType { PUBSUB_PING_BACKUP = 0; PUBSUB_PING_INTERMEDIATE = 1; PUBSUB_PING_CHILD = 2; } message PubSubTimer { int type enum(PubSubTimerType); int subspaceId; } packet PubSubJoinCall extends BaseCallMessage { Vector2D position; int ressources; } packet PubSubJoinResponse extends BaseResponseMessage { NodeHandle responsibleNode; // FIXME: Position's missing } packet PubSubResponsibleNodeCall extends BaseCallMessage { Vector2D subspacePos; //FIXME: send subspaceId as int } packet PubSubResponsibleNodeResponse extends BaseResponseMessage { int subspaceId; // Not counted in length: could easily be stored locally! NodeHandle responsibleNode; } packet PubSubTakeOverSubspaceCall extends BaseCallMessage { Vector2D subspacePos; //FIXME: send subspaceId as int } packet PubSubTakeOverSubspaceResponse extends BaseResponseMessage { Vector2D subspacePos; //FIXME: send subspaceId as int // Not counted in length: could easily be stored locally! } packet PubSubSubscriptionCall extends BaseCallMessage { int subspaceId; } packet PubSubSubscriptionResponse extends BaseResponseMessage { bool failed = false; } packet PubSubUnsubscriptionMessage extends BaseOverlayMessage { int subspaceId; NodeHandle src; } packet PubSubHelpCall extends BaseCallMessage { int subspaceId; // Not counted in length: could easily be stored locally! int helpType enum(PubSubHelpType); } packet PubSubHelpResponse extends BaseResponseMessage { int subspaceId; // Not counted in length: could easily be stored locally! int helpType enum(PubSubHelpType); // Not counted in length: could easily be stored locally! NodeHandle node; } packet PubSubIntermediateCall extends BaseCallMessage { int subspaceId; } packet PubSubIntermediateResponse extends BaseResponseMessage { int subspaceId; // Not counted in length: could easily be stored locally! } packet PubSubBackupCall extends BaseCallMessage { int subspaceId; NodeHandle intermediates[]; NodeHandle children[]; int childrenPos[]; } packet PubSubBackupResponse extends BaseResponseMessage { int subspaceId; // Not counted in length: could easily be stored locally! } packet PubSubPingCall extends BaseCallMessage { int subspaceId; int pingType enum(PubSubPingType); } packet PubSubPingResponse extends BaseResponseMessage { int subspaceId; // Not counted in length: could easily be stored locally! } packet PubSubReplacementMessage extends BaseOverlayMessage { int subspaceId; NodeHandle newResponsibleNode; } packet PubSubFailedNodeMessage extends BaseOverlayMessage { TransportAddress failedNode; } packet PubSubNodeLeftMessage extends BaseOverlayMessage { int subspaceId; NodeHandle node; } packet PubSubAdoptChildCall extends BaseCallMessage { int subspaceId; NodeHandle child; } packet PubSubAdoptChildResponse extends BaseResponseMessage { int subspaceId; // Not counted in length: could easily be stored locally! NodeHandle child; // Not counted in length: could easily be stored locally! } packet PubSubReleaseIntermediateMessage extends BaseOverlayMessage { int subspaceId; } packet PubSubHelpReleaseMessage extends BaseOverlayMessage { int subspaceId; NodeHandle node; } packet PubSubBackupSubscriptionMessage extends BaseOverlayMessage { int subspaceId; NodeHandle child; NodeHandle parent; NodeHandle oldParent; } packet PubSubBackupIntermediateMessage extends BaseOverlayMessage { int subspaceId; NodeHandle node; int pos; } packet PubSubBackupUnsubscribeMessage extends BaseOverlayMessage { int subspaceId; NodeHandle child; NodeHandle intermediate; } packet PubSubMoveMessage extends BaseOverlayMessage { int subspaceId; simtime_t timestamp; NodeHandle player; Vector2D position; } packet PubSubMoveListMessage extends BaseOverlayMessage { int subspaceId; simtime_t timestamp; NodeHandle player[]; Vector2D position[]; simtime_t positionAge[]; }