CTEST2(tube, manager_bind_event) { ASSERT_TRUE( tube_manager_bind_event(data->mgr, EV_LOOPSTART_NAME, test_cb, &data->err)); ASSERT_TRUE( tube_manager_bind_event(data->mgr, EV_RUNNING_NAME, test_cb, &data->err)); ASSERT_TRUE( tube_manager_bind_event(data->mgr, EV_DATA_NAME, test_cb, &data->err)); ASSERT_TRUE( tube_manager_bind_event(data->mgr, EV_CLOSE_NAME, test_cb, &data->err)); ASSERT_TRUE( tube_manager_bind_event(data->mgr, EV_ADD_NAME, test_cb, &data->err)); ASSERT_TRUE( tube_manager_bind_event(data->mgr, EV_REMOVE_NAME, test_cb, &data->err)); }
int spudtest(int argc, char** argv) { ls_err err; size_t i; const char nums[] = "0123456789"; if (argc < 2) { fprintf(stderr, "spudload <destination>\n"); exit(64); } #if defined(__APPLE__) srandomdev(); #endif #if defined(__LINUX__) srandom( time(NULL) ); #endif for (i = 0; i < sizeof(data); i++) { data[i] = nums[i % 10]; } if ( !ls_sockaddr_get_remote_ip_addr(argv[1], "1402", (struct sockaddr*)&remoteAddr, sizeof(remoteAddr), &err) ) { return 1; } if ( !tube_manager_create(0, &mgr, &err) ) { LS_LOG_ERR(err, "tube_manager_create"); return 1; } if ( !tube_manager_socket(mgr, 0, &err) ) { LS_LOG_ERR(err, "tube_manager_socket"); return 1; } if ( !tube_manager_signal(mgr, SIGINT, done, &err) ) { LS_LOG_ERR(err, "tube_manager_signal"); return 1; } if ( !tube_manager_bind_event(mgr, EV_REMOVE_NAME, remove_cb, &err) ) { LS_LOG_ERR(err, "tube_manager_bind_event"); return 1; } memset( tubes, 0, sizeof(tubes) ); /* Start and listen to the sockets. */ pthread_create(&listenThread, NULL, socketListen, NULL); return markov(); }
int spudtest(int argc, char** argv) { ls_err err; int ch; struct sockaddr_storage addr; /* bool has_addr = false;; */ while ( ( ch = getopt(argc, argv, "?hvs:") ) != -1 ) { switch (ch) { case 'v': ls_log_set_level(LS_LOG_VERBOSE); break; case 's': if ( !ls_sockaddr_parse(optarg, (struct sockaddr*)&addr, sizeof(addr), &err) ) { LS_LOG_ERR(err, "Invalid address"); return 1; } /* has_addr = true; */ break; case 'h': case '?': default: usage(); break; } } argc -= optind; argv += optind; if (argc < 1) { usage(); } ls_log(LS_LOG_INFO, "entering spudtest"); memset( &config, 0, sizeof(config) ); if ( !ls_sockaddr_get_remote_ip_addr(argv[0], "1402", (struct sockaddr*)&config.remoteAddr, sizeof(config.remoteAddr), &err) ) { LS_LOG_ERR(err, "ls_sockaddr_get_remote_ip_addr"); return 1; } if ( !tube_manager_create(0, &mgr, &err) ) { LS_LOG_ERR(err, "tube_manager_create"); return 1; } if ( !tube_manager_socket(mgr, 0, &err) ) { LS_LOG_ERR(err, "tube_manager_socket"); return 1; } /* TODO: make source addresses work (again?). */ /* if (has_addr) { */ /* LOGI("source address: %s\n", inet_ntop(AF_INET6, &addr, buf, * sizeof(buf))); */ /* } */ if ( !tube_manager_bind_event(mgr, EV_LOOPSTART_NAME, loopstart_cb, &err) || !tube_manager_bind_event(mgr, EV_RUNNING_NAME, running_cb, &err) || !tube_manager_bind_event(mgr, EV_DATA_NAME, data_cb, &err) ) { LS_LOG_ERR(err, "tube_manager_bind_event"); return 1; } if ( !tube_manager_signal(mgr, SIGINT, done_sig, &err) ) { LS_LOG_ERR(err, "tube_manager_signal"); return 1; } if ( !tube_manager_schedule_ms(mgr, 5000, done, NULL, NULL, &err) ) { LS_LOG_ERR(err, "tube_manager_schedule_ms"); return 1; } if ( !tube_manager_loop(mgr, &err) ) { LS_LOG_ERR(err, "tube_manager_loop"); } return 0; }