Pmr_task
/* $Id: pmr_task.x 282 2010-10-28 00:13:50Z gerd $ -*- c -*- */
/* The easy-going interface of task servers */
#ifndef PMR_TASK
#define PMR_TASK
typedef string longstring<>;
typedef longstring longstrings<>;
program Mapred_task {
version V1 {
void null (void) = 0;
longstring exec(int, longstring, longstring) = 1;
/* let r = exec(req_id, jobconfig, t):
Executes the encoded task t and returns the encoded result r.
*/
/* TODO:
.- get_req_id : void -> int
.- status : int -> bool (running/not running)
*/
void kill(int) = 2;
/* Kill the started task with this req ID */
void kill_all(void) = 3;
/* Kill all started tasks */
void configure(hyper, hyper) = 4;
/* configure(shm_low, shm_high):
.- shm_low: low-water mark for shm
.- shm_high: high-water mark for shm
*/
bool check_version(longstring) = 5;
/* The string describes the expected version of the executable
running the task server. Returns whether the version is matched.
Actually, the string is a MD5 sum of the server executable.
*/
} = 1;
} = 0x80013001;
#endif