int main() { __declspec(target(mic)) nbwcs* struct1; send_inputs(struct1); use_the_data(struct1); receive_results(struct1); return 0; }
void server::collect_inputs() { out_socket *collect_server=NULL; for (view *f=player_list; f; ) { view *next=f->next; if (is_server) { if (f->connect) { packet pk; if (get_pkt(f->connect,pk)) { while (!pk.eop()) { uint8_t cmd; if (pk.read((uint8_t *)&cmd,1)==1) if (!process_command(f,cmd,pk)) { remove_player(f); f=NULL; } } } else { remove_player(f); f=NULL; } } else { f->get_input(); add_change_log(f,next_out,1); } } else { if (f->local_player()) { f->get_input(); if (f->connect && !send_inputs(f)) remove_from_server(f); else if (f->connect) collect_server=f->connect; // take note that we should collect the input back from the server } } f=next; } if (collect_server) { packet pk; if (!get_pkt(collect_server,pk)) { for (view *f=player_list; f; f=f->next) if (f->local_player()) remove_from_server(f); } if (!client_do_packet(pk)) printf("Error occurred while processing packet from server\n"); } if (is_server && in) distribute_changes(); }