Files @ b4e8e519214d
Branch filter:

Location: DistRen/src/server/blendjob.h

binki
added libcurl to DISTLIBS
/*
  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 <http://www.gnu.org/licenses/>.

*/

#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 <time.h> /* 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