static int connect_setup(void **tdata) { struct connect_test_data *ctd; ctd = calloc(1, sizeof(struct connect_test_data)); if (ctd == NULL) return -ENOMEM; ctd->nsp = nsp_new(ctd); AssertNonNull(ctd->nsp); ctd->nsi = nsi_new(ctd->nsp, NULL); AssertNonNull(ctd->nsi); *tdata = ctd; return 0; }
static int log_setup(void **tdata) { struct log_test_data *ltd; ltd = calloc(1, sizeof(struct log_test_data)); if (ltd == NULL) return -ENOMEM; ltd->nsp = nsock_pool_new(ltd); AssertNonNull(ltd->nsp); *tdata = GlobalLTD = ltd; return 0; }
static int timer_setup(void **tdata) { struct timer_test_data *ttd; srand(time(NULL)); ttd = calloc(1, sizeof(struct timer_test_data)); if (ttd == NULL) return -ENOMEM; ttd->nsp = nsock_pool_new(NULL); AssertNonNull(ttd->nsp); *tdata = ttd; return 0; }
static int cancel_udp_run(void *tdata) { struct basic_test_data *btd = (struct basic_test_data *)tdata; struct sockaddr_in peer; nsock_iod iod; nsock_event_id id; int done = 0; iod = nsock_iod_new(btd->nsp, NULL); AssertNonNull(iod); memset(&peer, 0, sizeof(peer)); peer.sin_family = AF_INET; inet_aton("127.0.0.1", &peer.sin_addr); id = nsock_connect_udp(btd->nsp, iod, cancel_handler, (void *)&done, (struct sockaddr *)&peer, sizeof(peer), PORT_UDP); nsock_event_cancel(btd->nsp, id, 1); nsock_iod_delete(iod, NSOCK_PENDING_SILENT); return (done == 1) ? 0 : -ENOEXEC; }