*** empty log message ***
[physik/nlsop.git] / nlsop_server.c
index 353979b..4409108 100644 (file)
@@ -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;i<count;i++) {
     network_send_chan(&(priv.net),gi,priv.job.current->data,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;i<count;i++) {
+    network_send_chan(&(priv.net),gi,priv.client.current->data,
+                      sizeof(t_client));
+    list_next(&(priv.client));
+  }
+
   return 1;
 }