Ejemplo n.º 1
0
static void *discovery_loop(void *data) {
  //  int old_cancel_state;
  //  pthread_setcancelstate(PTHREAD_CANCEL_ASYNCHRONOUS, &old_cancel_state);
  discovery_service *svc = (discovery_service *) data;
  char *port = port_to_string(svc);
  while (svc->isrunning) {
    jnx_socket_udp_listener_tick(svc->udp_listener, svc->receive_callback,
                                 data);
  }
  free(port);
  return 0;
}
Ejemplo n.º 2
0
static void test_udp_listener_ipv6() {
  jnx_udp_listener *listener = 
    jnx_socket_udp_listener_create(UDPTESTPORT,AF_INET6,NULL);
  fire_threaded_udp_packet_ipv6(UDPTESTPORT);
  int x = 0;
  while(x < 20) {
    jnx_socket_udp_listener_tick(listener,test_udp_listener_callback,NULL);
    if(test_udp_listener_complete)break;
    sleep(.5);
    ++x;
    sleep(.5);
  }
  jnx_socket_udp_listener_destroy(&listener);
  JNXCHECK(test_udp_listener_complete);
  JNXCHECK(listener == NULL);
}
Ejemplo n.º 3
0
static void test_udp_broadcast(){
  jnx_udp_listener *listener = 

    jnx_socket_udp_listener_broadcast_create(UDPTESTPORT,AF_INET,NULL);
  JNXLOG(LDEBUG,"Firing broadcast packet");
  fire_threaded_udp_packet_broadcast(UDPTESTPORT);
  int x = 0;
  while(x < 20) {
    JNXLOG(LDEBUG,"Ticking jnx_socket_udp_listener_tick");
    jnx_socket_udp_listener_tick(listener,test_udp_listener_callback,NULL);
    if(test_udp_listener_complete)break;
    sleep(.5);
    ++x;
  }
  jnx_socket_udp_listener_destroy(&listener);
  JNXCHECK(test_udp_listener_complete);
  JNXCHECK(listener == NULL);
}
Ejemplo n.º 4
0
static void test_udp_multicast(){
  char *ip;
  jnx_network_interface_ip(&ip,NULL,AF_INET);

  JNXLOG(LDEBUG,"Using IP => %s",ip);
  jnx_udp_listener *listener = 
    jnx_socket_udp_listener_multicast_create(UDPTESTPORT2,AF_INET,ip,BGROUP,NULL);

  fire_threaded_udp_packet_multicast(UDPTESTPORT2);
  int x = 0;
  while(x < 5) {
    jnx_socket_udp_listener_tick(listener,test_udp_listener_callback,NULL);
    if(test_udp_listener_complete)break;
    ++x;
  }
  jnx_socket_udp_listener_destroy(&listener);
  JNXCHECK(test_udp_listener_complete);
  JNXCHECK(listener == NULL);

}