diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -345,6 +345,24 @@ int main(int argc, char *argv[]) //// End getopt sample +// Just wrote this to try and piece everything together after writing it on paper :D --ethanzonca +///////////////////// Semi-pseudo-code for server ////////////////////////////////////////// +/* + +start_data(); +status_report_generator(); +blend_frame_watchdog(); + + if(client says "i ain't got nuthin to render!"){ + frame_finder() ==> returns jobnum/framenum that are sent to slave, "render jobnum framenum" + } + if(client says "done with frame # in job #"){ + finish_frame(jobnum, frame); + frame_finder() ==> returns jobnum/framenum that are sent to slave, "render jobnum framenum" + } + +*/ +/////////////////////////////////////////////////////////////////////////////////////// @@ -425,6 +443,52 @@ int main(int argc, char *argv[]) */ +///////////////////// Semi-pseudo Slave Code /////////////////////////// +/* +int slavestatus = 0; + +if(no username in config file, no key present){ + fprintf(stderr "run distrend -c username] [emailaddr] to register") +} +if(they use a -c flag according to getopt, with 2 args){ + register_user(username, email); which returns a uniquely random url to a key + get(uniquely-random-url-to-key); + fprintf(stderr, "you registered, hopefully successfully. Invoke distrend with no args now."); +} +if(username is in conf file and key is present){ + loginuser(username); +} + +if(slave recieves "start frame#, job#"){ + get(http://distren.protofusion.org/srv/job#.tgz); + tar -xvf job#.tgz /tmp/distren/job#; somehow + exec_blender(job#.blend, job#.frame#.JPG, job#); (check the args, we'll need to adjust for different output formats)... set SLAVESTATUS=1 while rendering, SLAVESTATUS=2 when done +} +if(SLAVESTATUS==2){ + tell the server "done with frame# in job#"; + SLAVESTATUS=0 +} +if(SLAVESTATUS==0){ + tell the server "i ain't got no frames to render"; +} +while(SLAVESTATUS==1){ + tell the server "rendering this friggn frame"; + delay(1000); +} +*/ +//////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + // Registration on server. Needs attention. Prevent account spamming. // Key transfer? // Set up something like: distrend -c username email@example.com