1 Module name: Shard Saves Module
5 Syntax: ModulesAdd saves <shard name> <type> <directory>
6 - where <shard name> is the name of the shard that the saves are for
7 - where <type> is one of 'shard' or 'www' and gives the save type ('shard' is for character saves, guild saves, etc)
8 - where <directory> is the root directory for the save set
13 void processMsgRegister(uint32 sender,CMsgSavesRegister& msgBody);
14 void processMsgUnregister(uint32 sender,CMsgSavesUnregister& msgBody);
15 void processMsgFileRequest(uint32 sender,CMsgSavesFileRequest& msgBody);
16 void processMsgUpload(uint32 sender,CMsgSavesUpload& msgBody);
17 void processMsgDelete(uint32 sender,CMsgSavesDelete& msgBody);
18 void processMsgDelete(uint32 sender,CMsgSavesMove& msgBody);
25 This module allows other modules to access the save files for shards
26 the 'shard' or 'www' keywords determine the
31 class CShardSavesModule; // a module representing the save set under a given root directory
32 class CShardSavesManager; // singleton manager class for all of the local CShardSavesModule objects
35 A dumb executor object
36 Each update perfoms a single operation chosen from:
37 - rescanning a directory for files and sending updates to all subscribers
38 - reading a file and sending it to the requestor
39 - sending a directory content listing to a requestor
42 Responsible for limiting hard disk thashing by GUSes
43 Each tick allows n updates by cycling through the instantiated ShardSaves modules
49 CMsgSavesUnregister ()
50 CMsgSavesFileRequest (requestId,fileName)
51 CMsgSavesFileUpload (requestId,fileName,fileBody)
52 CMsgSavesFileDelete (requestId,fileName)
53 CMsgSavesFileMove (requestId,fileName,destination)