/* Copyright 2009 Nathan Phillip Brink This file is a part of DistRen. DistRen is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. DistRen 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with DistRen. If not, see . */ /** Server types: */ #define DISTREN_SERVERTYPE_SUBMIT (0x1) #define DISTREN_SERVERTYPE_DISTRIBUTE (0x2) #define DISTREN_SERVERTYPE_RENDER (0x4) /** This file defines the constants and structs that the client uses to talk to the server and that the servers use to talk to eachother. */ /** generic, shared requests */ enum distren_request_type { DISTREN_REQUEST_VERSION = 1, /*< identifies the version of software being used by the sender and tells if it is a client or server */ DISTREN_REQUEST_PING = 2, DISTREN_REQUEST_PONG = 3, DISTREN_REQUEST_DISCONNECT = 4, /** client->server only requests */ DISTREN_REQUEST_SUBMIT = 5, /** anything->server requests */ DISTREN_REQUEST_JOBINFO = 6, /*< retrieves information about a job based on its number */ /** server->anything */ DISTREN_REQUEST_JOBINFO_RESPONSE = 7, /*< returns information about a job */ /** server->server */ DISTREN_REQUEST_RENDERFRAME = 8, DISTREN_REQUEST_DONEFRAME = 9, DISTREN_REQUEST_PROGRESS = 10, /*< tells another server of the progress of the first server's work at rendering */ DISTREN_REQUEST_GETWORK = 11, };