# HG changeset patch # User ethanzonca # Date 2009-07-25 00:02:46 # Node ID 0b48f673ed7f5e63970606a841fd4f6fe430b2bb # Parent 1f744ce71f83fb63c66a6fdc00f97b29d46c7165 Migrate main() diff --git a/src/server/slave.c b/src/server/slave.c --- a/src/server/slave.c +++ b/src/server/slave.c @@ -29,7 +29,39 @@ int main(int argc, char *arvg[]) { - fprintf(stderr, "stub\n"); - + + ///////////////////// 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); + } + return 0; } diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -19,58 +19,11 @@ /* * ********************************************************************************** - * Slave functions / etc resides below. Wouldn't a seperate file make this easier?? - * * Slave listens on server for a command in the format of each function... * We need if's for returns... ==> watchdog * ********************************************************************************** */ - -///////////////////// 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