Files
@ abcf8952747b
Branch filter:
Location: DistRen/src/common/protocol.h - annotation
abcf8952747b
2.3 KiB
text/plain
Copyright and general documentation/todo updates
2a6cba487424 abcf8952747b 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 2a6cba487424 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 2a6cba487424 bbfee659a30a bbfee659a30a bbfee659a30a bbfee659a30a bbfee659a30a bbfee659a30a bbfee659a30a 2a6cba487424 2a6cba487424 2a6cba487424 4757644414d3 144cab775ebd 4757644414d3 4757644414d3 4757644414d3 144cab775ebd 4757644414d3 144cab775ebd 4757644414d3 4757644414d3 144cab775ebd 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 4757644414d3 144cab775ebd 144cab775ebd 99a5a69d493c 144cab775ebd 4757644414d3 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e 4ca5ce00932e | /*
Copyright 2010 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 <http://www.gnu.org/licenses/>.
*/
#ifndef DISTREN_PROTOCOL_H
#define DISTREN_PROTOCOL_H
#include <stdint.h>
/**
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,
};
struct distren_request
{
uint32_t magic;
uint32_t len;
uint8_t enumsize;
enum distren_request_type type;
};
/**
initializes request
*/
int distren_request_new(struct distren_request **req, uint32_t len, enum distren_request_type type);
/**
frees request
*/
int distren_request_free(struct distren_request *req);
#endif
|