/* $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