diff --git a/src/server/blendjob.h b/src/server/blendjob.h new file mode 100644 --- /dev/null +++ b/src/server/blendjob.h @@ -0,0 +1,66 @@ +/* + Copyright 2009 Nathan Phillip Brink, Ethan Zonca, Matthew Orlando + + 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 . + +*/ + +#ifndef _DISTREN_BLENDJOB_H +#define _DISTREN_BLENDJOB_H + +/** + This file stores the blendjob and frameset structs and prototypes for some functions to manipulate/use these. + */ + +#include /* clock_t */ + +typedef unsigned int jobnum_t; + +/** + Stores Blender Job Info +*/ +struct blendjob { + struct blendjob *next; /*< next will be NULL unless if there is another blendjob */ + char *name; + char *submitter; + char *email; + jobnum_t jobnum; + int priority; // 1 is lowest, 10 is highest, 0 means the job is done + int percent_done; + int completed_frames; // number of completed frames for stats/etc + int assigned_frames; // number of assigned frames (that are not yet completed) for stats/etc + int total_frames; // how many frames are in the animation for stats/etc (unassigned frames) + int avg_render_time; // average seconds it took to render a frame + unsigned int time_remaining; // estimated seconds remaining till render is complete (up to 49, 710 days) + // we can have the client computer convert it into days, hours, etc if they wish to view it + struct frameset *frameset; +}; + + + +/** + Frameset Structure +*/ +struct frameset { + int num; /*< frame number to render */ + char slave_name; /*< user that frame is assigned to */ + int status; /*< status of frame, 0= unassigned, 1= taken, 2= done */ + clock_t start_time; /*< time the frame was started */ + int time_to_render; /*< the total seconds it took to render the frame */ +}; /* Frameset array is generated by status_report_generator() */ + + +#endif