diff --git a/src/server/Makefile.am b/src/server/Makefile.am
--- a/src/server/Makefile.am
+++ b/src/server/Makefile.am
@@ -1,4 +1,4 @@
-COMMON_SOURCES = slavefuncs.c slavefuncs.h distrenjob.c blendjob.h
+COMMON_SOURCES = slavefuncs.c slavefuncs.h distrenjob.c distrenjob.h
bin_PROGRAMS = distrend distrenslave
distrend_SOURCES = distrend.c ${COMMON_SOURCES}
diff --git a/src/server/distrend.c b/src/server/distrend.c
--- a/src/server/distrend.c
+++ b/src/server/distrend.c
@@ -52,7 +52,7 @@
#include "execio.h"
#include "options.h"
-#include "blendjob.h"
+#include "distrenjob.h"
#include "protocol.h"
#include "slavefuncs.h"
@@ -105,10 +105,10 @@ struct general_info {
/*
internally defined funcs's prototypes
*/
-void status_report_generator(struct blendjob **blendjobs_head);
-void blendjob_remove(struct blendjob **head, struct blendjob *bj);
+void status_report_generator(struct distrenjob **distrenjobs_head);
+void distrenjob_remove(struct distrenjob **head, struct distrenjob *bj);
-struct blendjob *blendjob_get(struct blendjob *head, jobnum_t jobnum);
+struct distrenjob *distrenjob_get(struct distrenjob *head, jobnum_t jobnum);
/* Global Vars, try to cut down on these */
jobnum_t jobnum = 0; // The next job number to create in the queue
@@ -174,24 +174,24 @@ void start_data(){
}
/** Finish-Setter: Sets a frame to the "completed" status.*/
-void finish_frame(struct blendjob *blendjob, int frame){
- blendjob->frameset[frame].status = 2;
- blendjob->frameset[frame].time_to_render = (clock() - blendjob[jobnum].frameset[frame].start_time); // Consider changing time-to-render to time-for-frame or something?
+void finish_frame(struct distrenjob *distrenjob, int frame){
+ distrenjob->frameset[frame].status = 2;
+ distrenjob->frameset[frame].time_to_render = (clock() - distrenjob[jobnum].frameset[frame].start_time); // Consider changing time-to-render to time-for-frame or something?
general_info.total_frames_rendered++; // Increase total frames var for stats
}
/** Queuer: Adds files to the queue */
-void queue(struct blendjob *blendjob, int type, char *name, char *submitter, char *email, int priority, int mode, int spp, struct frameset *frameset) {
+void queue(struct distrenjob *distrenjob, int type, char *name, char *submitter, char *email, int priority, int mode, int spp, struct frameset *frameset) {
// Type: 1 = blender, add more types later
// jobnum is the next available job number
if(type == 1){
- blendjob->name = name;
- blendjob->submitter = submitter;
- blendjob->email = email;
- blendjob->priority = priority;
- blendjob->frameset = frameset;
+ distrenjob->name = name;
+ distrenjob->submitter = submitter;
+ distrenjob->email = email;
+ distrenjob->priority = priority;
+ distrenjob->frameset = frameset;
}
else{
// Throw error.
@@ -205,27 +205,27 @@ jobnum++; // Advance the jobnumber for t
-figures out how much of the job is done, where jobnum corresponds to the job number
-removes finished jobs
- @param blendjobs_head a pointer to a pointer because the head of the blendjobs linked list may need to be changed by blendjob_remove
+ @param distrenjobs_head a pointer to a pointer because the head of the distrenjobs linked list may need to be changed by distrenjob_remove
*/
-void status_report_generator(struct blendjob **blendjobs_head)
+void status_report_generator(struct distrenjob **distrenjobs_head)
{
- struct blendjob *blendjob_ptr;
+ struct distrenjob *distrenjob_ptr;
unsigned short workers_working; /*< used to count the total number of workers working */
unsigned int numjobs; /*< used to track number of jobs */
- blendjob_ptr = *blendjobs_head;
+ distrenjob_ptr = *distrenjobs_head;
workers_working = 0;
numjobs = 0;
- while(blendjob_ptr)
+ while(distrenjob_ptr)
{
- if(blendjob_ptr->priority != 0)
+ if(distrenjob_ptr->priority != 0)
/* If the job is not done, scan it */
{
unsigned int framecounter; /*< to scan through frames */
unsigned long finished_frames; /*< variable that counts the completed frames */
unsigned int pending_frames; /*< variable that counts the assigned frames */
- float percent_frames_finished; /*< variable that stores the percent done of the blendjob */
+ float percent_frames_finished; /*< variable that stores the percent done of the distrenjob */
unsigned int total_time; /*< total time taken to render all the completed frames for a job */
framecounter = 0;
@@ -234,17 +234,17 @@ void status_report_generator(struct blen
percent_frames_finished = 0;
total_time = 0;
- while(framecounter < blendjob_ptr->total_frames)
+ while(framecounter < distrenjob_ptr->total_frames)
/* scans through frames, based on their status it runs a statement(s) */
{
- if(blendjob_ptr->frameset[framecounter].status == 2)
+ if(distrenjob_ptr->frameset[framecounter].status == 2)
/* If the frame is done */
{
finished_frames ++;
- total_time += blendjob_ptr->frameset[framecounter].time_to_render;
+ total_time += distrenjob_ptr->frameset[framecounter].time_to_render;
}
- if(blendjob_ptr->frameset[framecounter].status == 1)
+ if(distrenjob_ptr->frameset[framecounter].status == 1)
/* If the frame is assigned */
{
pending_frames ++;
@@ -252,49 +252,49 @@ void status_report_generator(struct blen
}
framecounter ++;
- } /* while(framecounter < blendjob_ptr->total_frames) */
+ } /* while(framecounter < distrenjob_ptr->total_frames) */
// find the percent of completed frames
- percent_frames_finished = (finished_frames / blendjob_ptr->total_frames) * 100; /*< @LordofWar: extraneous parentheses! */
+ percent_frames_finished = (finished_frames / distrenjob_ptr->total_frames) * 100; /*< @LordofWar: extraneous parentheses! */
- /* updates values in the blendjob struct */
- blendjob_ptr->completed_frames = finished_frames;
- blendjob_ptr->assigned_frames = pending_frames;
- blendjob_ptr->percent_done = percent_frames_finished;
- blendjob_ptr->avg_render_time = (total_time / finished_frames); /*< extraneous parentheses! */
- blendjob_ptr->time_remaining = (blendjob_ptr->avg_render_time * (blendjob_ptr->total_frames - finished_frames)); /*< extraneous parentheses! */
+ /* updates values in the distrenjob struct */
+ distrenjob_ptr->completed_frames = finished_frames;
+ distrenjob_ptr->assigned_frames = pending_frames;
+ distrenjob_ptr->percent_done = percent_frames_finished;
+ distrenjob_ptr->avg_render_time = (total_time / finished_frames); /*< extraneous parentheses! */
+ distrenjob_ptr->time_remaining = (distrenjob_ptr->avg_render_time * (distrenjob_ptr->total_frames - finished_frames)); /*< extraneous parentheses! */
- if(finished_frames == blendjob_ptr->total_frames)
+ if(finished_frames == distrenjob_ptr->total_frames)
/* If all frames are complete */
{
- blendjob_ptr->priority = 0; /*< set priority to zero to indicate job is complete */
- blendjob_remove(blendjobs_head, blendjob_ptr); /*< remove this job from the linkedlist */
+ distrenjob_ptr->priority = 0; /*< set priority to zero to indicate job is complete */
+ distrenjob_remove(distrenjobs_head, distrenjob_ptr); /*< remove this job from the linkedlist */
general_info.total_finished_jobs++; /*< add one to the total finished jobs */
}
- else if (finished_frames > blendjob_ptr->total_frames)
+ else if (finished_frames > distrenjob_ptr->total_frames)
/* just in case ;-) */
{
- fprintf(stderr, "%s:%d: finished_frames (%lu) > blendjob_ptr->total_frames (%d)",
+ fprintf(stderr, "%s:%d: finished_frames (%lu) > distrenjob_ptr->total_frames (%d)",
__FILE__, __LINE__,
finished_frames,
- blendjob_ptr->total_frames);
+ distrenjob_ptr->total_frames);
abort();
}
}
general_info.rendering_clients = workers_working; /*< should this be a +=? */
- blendjob_ptr = blendjob_ptr->next; /*< This is the essence of linked lists and iterating through them */
+ distrenjob_ptr = distrenjob_ptr->next; /*< This is the essence of linked lists and iterating through them */
numjobs ++;
- } /* while(blendjob_ptr) */
+ } /* while(distrenjob_ptr) */
general_info.jobs_in_queue = (highest_jobnum - general_info.total_finished_jobs); /*< extraneous parentheses! */
}
/** Structure Builder: This function creates frame array based on the total number of frames to be rendered, which will then be parsed by function frame_farmer. */
-void frame_num_struct_builder(struct blendjob *job, unsigned int startframe, unsigned int numframes) {
+void frame_num_struct_builder(struct distrenjob *job, unsigned int startframe, unsigned int numframes) {
int jobnum_new = highest_jobnum + 1; /* global vars will someday leave us */
unsigned int counter;
@@ -323,7 +323,7 @@ void frame_num_struct_builder(struct ble
@return 0 success, other: error
*/
-int frame_finder(struct blendjob *head, struct blendjob **job, struct frameset **frame)
+int frame_finder(struct distrenjob *head, struct distrenjob **job, struct frameset **frame)
{
int your_frame; // your_frame is an integer value that will be given to the client as the frame number to render
// UNUSED: int your_job; // @TODO: Fixme: do we need this var? you_job is an integer value that must ALSO be given to the client
@@ -331,7 +331,7 @@ int frame_finder(struct blendjob *head,
unsigned short int found;
unsigned short int priority;
- struct blendjob *blendjob_ptr;
+ struct distrenjob *distrenjob_ptr;
found = 0;
while(!found)
@@ -342,11 +342,11 @@ int frame_finder(struct blendjob *head,
&& !found;
priority --)
/* Find the job with the highest priority */
- for(blendjob_ptr = head;
- blendjob_ptr != NULL
+ for(distrenjob_ptr = head;
+ distrenjob_ptr != NULL
&& !found;
- blendjob_ptr = blendjob_ptr->next)
- if(blendjob_ptr->priority == priority)
+ distrenjob_ptr = distrenjob_ptr->next)
+ if(distrenjob_ptr->priority == priority)
found = 1;
if(!found)
@@ -357,107 +357,107 @@ int frame_finder(struct blendjob *head,
found = 0;
for(your_frame = 0;
- your_frame < blendjob_ptr->total_frames;
+ your_frame < distrenjob_ptr->total_frames;
your_frame ++)
- if(blendjob_ptr->frameset[your_frame].status == 0)
+ if(distrenjob_ptr->frameset[your_frame].status == 0)
found = 1;
if(!found)
{
/* there are no frames left in this job */
- blendjob_ptr->priority --;
+ distrenjob_ptr->priority --;
/* If that job had no open frames for some reason, run the status report generator so that */
status_report_generator(&head);
/* should the job be removed now? */
- fprintf(stderr, "Job %d is finished, this is probably the place to call the job-removal function\n", blendjob_ptr->jobnum);
+ fprintf(stderr, "Job %d is finished, this is probably the place to call the job-removal function\n", distrenjob_ptr->jobnum);
}
} /* while(!found) */
fprintf(stderr, "Missing apostrophe !!!!!!!!!!!!!!\n"); abort();
/* sets the value of the frame to 1, which means its taken !!!!!! MISSSING APOSTROPHE!!!!!!! */
- blendjob_ptr->frameset[your_frame].status++;
+ distrenjob_ptr->frameset[your_frame].status++;
- blendjob_ptr->frameset[your_frame].start_time = clock();
+ distrenjob_ptr->frameset[your_frame].start_time = clock();
- *job = blendjob_ptr;
- *frame = &blendjob_ptr->frameset[your_frame];
+ *job = distrenjob_ptr;
+ *frame = &distrenjob_ptr->frameset[your_frame];
return 0;
}
/** Checks for dying slaves */
-void blend_frame_watchdog(struct blendjob *blendjob_head)
+void blend_frame_watchdog(struct distrenjob *distrenjob_head)
{
unsigned short int watchdog_forgiveness; /*< seconds to wait on a frame before re-assigning it */
- struct blendjob *blendjob_ptr;
+ struct distrenjob *distrenjob_ptr;
unsigned int counter;
watchdog_forgiveness = 3; /*< hours of forgiveness before frame is re-assigned */
- blendjob_ptr = blendjob_head;
+ distrenjob_ptr = distrenjob_head;
- for(blendjob_ptr = blendjob_head; blendjob_ptr; blendjob_ptr = blendjob_ptr->next)
+ for(distrenjob_ptr = distrenjob_head; distrenjob_ptr; distrenjob_ptr = distrenjob_ptr->next)
/* iterate through jobs */
- for(counter = 0; counter < blendjob_ptr->total_frames; counter ++)
+ for(counter = 0; counter < distrenjob_ptr->total_frames; counter ++)
/* iterate through all frames for this job*/
{
- if((blendjob_ptr->frameset[counter].start_time + (watchdog_forgiveness * 3600)) < clock())
+ if((distrenjob_ptr->frameset[counter].start_time + (watchdog_forgiveness * 3600)) < clock())
/*
If frame is not completed within the number of hours specified by watchdog_forgiveness
Then change the frame status to unassigned
*/
- blendjob_ptr->frameset[counter].status = 0;
+ distrenjob_ptr->frameset[counter].status = 0;
}
}
/**
- Finds a blendjob struct based on the jobnum
+ Finds a distrenjob struct based on the jobnum
@arg jobnum job number to search for
@return NULL on job doesn't exist
*/
-struct blendjob *blendjob_get(struct blendjob *head, jobnum_t jobnum)
+struct distrenjob *distrenjob_get(struct distrenjob *head, jobnum_t jobnum)
{
- struct blendjob *blendjob_ptr;
+ struct distrenjob *distrenjob_ptr;
/*
- The conditions of the for loop will leave blendjob_ptr at NULL if the end of the list is reached. It will leave it pointing to the correct job if it is found.
+ The conditions of the for loop will leave distrenjob_ptr at NULL if the end of the list is reached. It will leave it pointing to the correct job if it is found.
*/
- for(blendjob_ptr = head;
- blendjob_ptr
- && blendjob_ptr->jobnum != jobnum;
- blendjob_ptr = blendjob_ptr->next);
+ for(distrenjob_ptr = head;
+ distrenjob_ptr
+ && distrenjob_ptr->jobnum != jobnum;
+ distrenjob_ptr = distrenjob_ptr->next);
- return blendjob_ptr;
+ return distrenjob_ptr;
}
/**
- Removes a blendjob from the blendjob linkelist.
+ Removes a distrenjob from the distrenjob linkelist.
- @arg head a double pointer. the head pointer will have to be changed if blendjob == *head. Thus, make sure that the pointer points to the pointer to the head that all functions use. (I'm going to come back to this and misunderstand myself ;-))
+ @arg head a double pointer. the head pointer will have to be changed if distrenjob == *head. Thus, make sure that the pointer points to the pointer to the head that all functions use. (I'm going to come back to this and misunderstand myself ;-))
*/
-void blendjob_remove(struct blendjob **head, struct blendjob *bj)
+void distrenjob_remove(struct distrenjob **head, struct distrenjob *bj)
{
- struct blendjob *previous_blendjob;
+ struct distrenjob *previous_distrenjob;
if(bj == *head)
*head = bj->next;
else
{
- for(previous_blendjob = *head;
- previous_blendjob
- && previous_blendjob->next != bj; /*< stop on the blendjob that comes before bj */
- previous_blendjob = previous_blendjob->next)
+ for(previous_distrenjob = *head;
+ previous_distrenjob
+ && previous_distrenjob->next != bj; /*< stop on the distrenjob that comes before bj */
+ previous_distrenjob = previous_distrenjob->next)
/* all of the action is in the definition of the for loop itself */;
/*
This removes references to bj from the linked list. I.E., we now skip bj when iterating through the list
*/
- previous_blendjob->next = bj->next;
+ previous_distrenjob->next = bj->next;
}
/*
@@ -489,7 +489,7 @@ int distrend_do_config(int argc, char *a
CFG_END()
};
- struct blendjob *distrenjob;
+ struct distrenjob *distrenjob;
int tmp;
@@ -529,7 +529,7 @@ int main(int argc, char *argv[])
/* @TODO: Put some arg-grabbing code here */
- struct blendjob *head;
+ struct distrenjob *head;
int cont;
struct distrend_listenset *listenset;
@@ -565,7 +565,7 @@ int main(int argc, char *argv[])
struct frameset *frame;
- struct blendjob *job;
+ struct distrenjob *job;
/* If the client is idle, must be modified for climbing through linked list of clients (client->clientnum) */
if(clientstatus == CLIENTSTATUS_IDLE)
diff --git a/src/server/distrenjob.c b/src/server/distrenjob.c
--- a/src/server/distrenjob.c
+++ b/src/server/distrenjob.c
@@ -17,16 +17,16 @@
along with DistRen. If not, see .
*/
-#include "blendjob.h"
+#include "distrenjob.h"
#include "slavefuncs.h"
#include "asprintf.h"
#include
#include
-void distrenjob_free(struct blendjob **distrenjob)
+void distrenjob_free(struct distrenjob **distrenjob)
{
- struct blendjob *dj;
+ struct distrenjob *dj;
dj = *distrenjob;
xmlFree(dj->name);
@@ -37,11 +37,11 @@ void distrenjob_free(struct blendjob **d
*distrenjob = NULL;
}
-int distrenjob_new(struct blendjob **distrenjob)
+int distrenjob_new(struct distrenjob **distrenjob)
{
- struct blendjob *dj;
+ struct distrenjob *dj;
- dj = malloc(sizeof(struct blendjob));
+ dj = malloc(sizeof(struct distrenjob));
if(!dj)
{
/* try to catch code that doesn't respect return values
@@ -70,9 +70,9 @@ int distrenjob_new(struct blendjob **dis
/**
writes struct from xml
*/
-int xml2distrenjob(struct blendjob **distrenjob, char *pathtoxml)
+int xml2distrenjob(struct distrenjob **distrenjob, char *pathtoxml)
{
- struct blendjob *dj;
+ struct distrenjob *dj;
xmlDocPtr xmldoc;
xmlNodePtr xmlnode;
diff --git a/src/server/blendjob.h b/src/server/distrenjob.h
rename from src/server/blendjob.h
rename to src/server/distrenjob.h
--- a/src/server/blendjob.h
+++ b/src/server/distrenjob.h
@@ -22,7 +22,7 @@
#define _DISTREN_BLENDJOB_H
/**
- This file stores the blendjob and frameset structs and prototypes for some functions to manipulate/use these.
+ This file stores the distrenjob and frameset structs and prototypes for some functions to manipulate/use these.
*/
#include /* clock_t, time_t */
@@ -32,8 +32,8 @@ typedef unsigned int jobnum_t;
/**
Stores Blender Job Info
*/
-struct blendjob {
- struct blendjob *next; /*< next will be NULL unless if there is another blendjob */
+struct distrenjob {
+ struct distrenjob *next; /*< next will be NULL unless if there is another distrenjob */
char *name;
char *submitter;
char *email; /*< This should be looked up based on the value of submitter, not stored in this struct */
@@ -70,16 +70,16 @@ related functions
@param distrenjob the address where we will store the pointer of a malloc()ed
distrenjob struct.
- @param pathtoxml filename/pathname of the xml file to be read into a blendjob struct
+ @param pathtoxml filename/pathname of the xml file to be read into a distrenjob struct
*/
-int xml2distrenjob(struct blendjob **distrenjob, char *pathtoxml);
+int xml2distrenjob(struct distrenjob **distrenjob, char *pathtoxml);
/**
support function for xml2distrenjob() to help cleaning up a
- struct blendjob when it is incompletely initialized.
+ struct distrenjob when it is incompletely initialized.
Also acts as a general-purpose struct distrenjob free()er ;-)
*/
-void distrenjob_free(struct blendjob **distrenjob);
+void distrenjob_free(struct distrenjob **distrenjob);
/**
initializes an empty, pointless struct distrenjob. This
@@ -87,6 +87,6 @@ void distrenjob_free(struct blendjob **d
but there are no errors to have yet (except for nomem). This
sets all char* to NULL.
*/
-int distrenjob_new(struct blendjob **distrenjob);
+int distrenjob_new(struct distrenjob **distrenjob);
#endif
diff --git a/src/server/slave.c b/src/server/slave.c
--- a/src/server/slave.c
+++ b/src/server/slave.c
@@ -169,7 +169,7 @@ if(gotframe ==1)
system(tarcmd);
free(tarcmd);
- // exec_blender(blendjob, pathtoJobfile, pathtoOutput, framenum); // @TODO: Make a xml --> struct function
+ // exec_blender(distrenjob, pathtoJobfile, pathtoOutput, framenum); // @TODO: Make a xml --> struct function
// Consider placing the following in the exec_blender() function
while(busy == 1){
diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c
--- a/src/server/slavefuncs.c
+++ b/src/server/slavefuncs.c
@@ -24,7 +24,7 @@
#include "asprintf.h"
#include "slavefuncs.h"
-#include "blendjob.h"
+#include "distrenjob.h"
#include "execio.h"
#include
@@ -340,7 +340,7 @@ return 1; // Success
*/
/** Executor function for Blender operations */
-void exec_blender(struct blendjob* blendjob, char *input, char *output, char *outputres, int frame)
+void exec_blender(struct distrenjob* distrenjob, char *input, char *output, char *outputres, int frame)
{
int ret;
char *frame_str;
diff --git a/src/server/slavefuncs.h b/src/server/slavefuncs.h
--- a/src/server/slavefuncs.h
+++ b/src/server/slavefuncs.h
@@ -20,7 +20,7 @@
#ifndef _DISTREN_SLAVEFUNCS_H
#define _DISTREN_SLAVEFUNCS_H
-#include "blendjob.h"
+#include "distrenjob.h"
#include
#include
@@ -34,7 +34,7 @@ int ssh_keygen();
int register_user(char *username, char *email);
int login_user(char *username);
int conf_replace(char *username);
-void exec_blender(struct blendjob* blendjob, char *input, char *output, char *outputres, int frame);
+void exec_blender(struct distrenjob* distrenjob, char *input, char *output, char *outputres, int frame);
void xmlinit();
void xmlcleanup();