Beispiel #1
0
int main(int argc, char *argv[]) {
	printf("network layer is starting, pls wait...\n");

	//initialize global variables
	overlay_conn = -1;

	//register a signal handler which will kill the process
	signal(SIGINT, network_stop);

	//connect to overlay
	overlay_conn = connectToOverlay();
	if(overlay_conn<0) {
		printf("can't connect to ON process\n");
		exit(1);		
	}
	
	//start a thread that handles incoming packets from overlay
	pthread_t pkt_handler_thread; 
	pthread_create(&pkt_handler_thread,NULL,pkthandler,(void*)0);

	//start a route update thread 
	pthread_t routeupdate_thread;
	pthread_create(&routeupdate_thread,NULL,routeupdate_daemon,(void*)0);	
	printf("network layer is started...\n");
	printf("WIll wait till route daemon add pkt handler are running \n");
	pthread_join(pkt_handler_thread,NULL);	
	pthread_join(routeupdate_thread,NULL);	
	network_stop();
	//sleep forever // this will never get called
	while(1) {
		sleep(60);
	}
}
Beispiel #2
0
void stop_network()
{
	// close(sockfd);
	shutdown(sockfd, SHUT_RD);
	LOGD("sockfd closed");
	network_stop();
}
Beispiel #3
0
void on_close_listener( HWND hWnd )
{
  network_stop();
}