DirectoryDeltaTransfer.h is useful if you allow user-moddable content. For example, if each server has a /skins directory, you could run this plugin to upload that directory to the clients. Each client that does not already have a particular skin will get it. You will get download progress notifications via a user-supplied callback. DirectoryDeltaTransfer relies on the FileListTransfer plugin to actually transmit hte files.
Usage:
- Attach the plugin and connect to the remote system
- Server and client: Call directoryDeltaTransfer.SetFileListTransferPlugin(&fileListTransfer);
- Server: set the application directory:
directoryDeltaTransfer.SetApplicationDirectory("c:\myGame");
- Server: set the download directory: directoryDeltaTransfer.AddUploadsFromSubdirectory("skins");
- Client: to download call: directoryDeltaTransfer.DownloadFromSubdirectory("skins", "downloaded\skins", true, serverAddress, &transferCallback, HIGH_PRIORITY, 0);
- Client: Wait for the callback member OnFileProgress(). When onFileStruct->fileIndex is equal to onFileStruct->setCount this download is done.
For full details on all parameters and other available functions, see the header file DirectoryDeltaTransfer.h and the sample at Samples/DirectoryDeltaTransfer
|