void fetch(void) { prep_signals(); if (nsig > 0) map_signals(); prep_annotators(); prep_times(); printf("{ \"fetch\":\n"); if ((fetchsignals() + fetchannotations()) == 0) printf("null"); printf("}\n"); }
int main(int argc, char **argv) { int i, j, result = 0, stats[6]; // process flags for -v verbose, -t terminate, -h help for (i = 1; i < argc; i++) { if (argv[i] && argv[i][0] == '-') { int len = strlen(argv[i]); for (j = 1; j < len; j++) { switch (argv[i][j]) { case 'h': printf("testinstance.c: possible arguments " "-q quiet (suppress output), " "-h help\n"); return 1; break; case 'q': verbose = 0; break; default: break; } } } } signal(SIGINT, ctrlc); if (setup_destination()) { eprintf("Error initializing destination.\n"); result = 1; goto done; } if (setup_source()) { eprintf("Done initializing source.\n"); result = 1; goto done; } wait_local_devices(); if (automate) map_signals(); eprintf("\n**********************************************\n"); eprintf("************ NO INSTANCE STEALING ************\n"); loop(); stats[0] = sent; stats[1] = received; for (i=0; i<10; i++) mapper_signal_instance_release(sendsig, i, MAPPER_NOW); sent = received = 0; mapper_signal_set_instance_stealing_mode(recvsig, MAPPER_STEAL_OLDEST); eprintf("\n**********************************************\n"); eprintf("************ STEAL OLDEST INSTANCE ***********\n"); if (!verbose) printf("\n"); loop(); stats[2] = sent; stats[3] = received; sent = received = 0; for (i=0; i<10; i++) mapper_signal_instance_release(sendsig, i, MAPPER_NOW); sent = received = 0; mapper_signal_set_instance_event_callback(recvsig, more_handler, MAPPER_INSTANCE_OVERFLOW | MAPPER_UPSTREAM_RELEASE); eprintf("\n**********************************************\n"); eprintf("*********** CALLBACK -> ADD INSTANCE *********\n"); if (!verbose) printf("\n"); loop(); stats[4] = sent; stats[5] = received; eprintf("NO STEALING: sent %i updates, received %i updates (mismatch is OK).\n", stats[0], stats[1]); eprintf("STEAL OLDEST: sent %i updates, received %i updates (mismatch is OK).\n", stats[2], stats[3]); eprintf("ADD INSTANCE: sent %i updates, received %i updates.\n", stats[4], stats[5]); result = (stats[4] != stats[5]); done: cleanup_destination(); cleanup_source(); printf("Test %s.\n", result ? "FAILED" : "PASSED"); return result; }