Plasma GitLab Archive
Projects Blog Knowledge

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

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml