X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fnlsop.git;a=blobdiff_plain;f=nlsop_server.c;h=44091085e10a967e07b5b99ad9bc12ede34b4b66;hp=353979bc3c2b43be36747183b8bfb315e5d919d2;hb=dd664a3acbc39be7bc2f75e2a9378f989c75baa8;hpb=4c5373958d4b8d38e51560ba898cfd0473d7c108 diff --git a/nlsop_server.c b/nlsop_server.c index 353979b..4409108 100644 --- a/nlsop_server.c +++ b/nlsop_server.c @@ -129,38 +129,19 @@ int save_job(unsigned char dc) { int ret; d3_lattice d3l; info info; - unsigned char data; t_job *j; j=(t_job *)priv.job.current->data; - printf("receiving data from client (%d)\n",j->size); - data=DATA_OK; - - /* initial data_ok to start transmit on client */ - network_send_chan(&(priv.net),gi,&data,sizeof(unsigned char)); + printf("receiving data from client (#cells=%d)\n",j->size); network_receive_chan(&(priv.net),gi,(unsigned char *)&d3l, sizeof(d3_lattice)); - network_send_chan(&(priv.net),gi,&data,sizeof(unsigned char)); - printf("debug: got d3_lattice\n"); - network_receive_chan(&(priv.net),gi,(unsigned char *)&info,sizeof(info)); - network_send_chan(&(priv.net),gi,&data,sizeof(unsigned char)); - printf("debug: got info\n"); - network_receive_chan(&(priv.net),gi,j->ac,j->size*sizeof(unsigned char)); - network_send_chan(&(priv.net),gi,&data,sizeof(unsigned char)); - printf("debug: got ac\n"); - network_receive_chan(&(priv.net),gi,(unsigned char *)j->cc, j->size*sizeof(int)); - network_send_chan(&(priv.net),gi,&data,sizeof(unsigned char)); - printf("debug: got cc\n"); - network_receive_chan(&(priv.net),gi,(unsigned char *)&(j->step),sizeof(int)); - network_send_chan(&(priv.net),gi,&data,sizeof(unsigned char)); - printf("debug: got steps\n"); if(dc!=DC_QUIT) { snprintf(filename,128,"./data/nlsop_b%f_c%f_s%f_ds%d_dr%f_-_%d_of_%d.save", @@ -247,19 +228,26 @@ int send_status(void) { data=GUI_INFO; - count=list_count(&(priv.job)); - - printf("sending job info\n"); - network_send_chan(&(priv.net),gi,&data,sizeof(unsigned char)); - network_send_chan(&(priv.net),gi,(unsigned char *)&count,sizeof(int)); + printf("sending job + client list ...\n"); + count=list_count(&(priv.job)); + network_send_chan(&(priv.net),gi,(unsigned char *)&count,sizeof(int)); list_reset(&(priv.job)); for(i=0;idata,sizeof(t_job)); list_next(&(priv.job)); } + count=list_count(&(priv.client)); + network_send_chan(&(priv.net),gi,(unsigned char *)&count,sizeof(int)); + list_reset(&(priv.client)); + for(i=0;idata, + sizeof(t_client)); + list_next(&(priv.client)); + } + return 1; }