From 9f9798e2c818a133aacc5b0c7b4fc6a6d1d3fddf Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 20 Jun 2007 01:09:52 +0000 Subject: begin multi threading added signal controller (not working yet) --- anytun.cpp | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) (limited to 'anytun.cpp') diff --git a/anytun.cpp b/anytun.cpp index ba6c688..3047c46 100644 --- a/anytun.cpp +++ b/anytun.cpp @@ -38,30 +38,39 @@ #include "package.h" #include "cypher.h" #include "authAlgo.h" +#include "signalController.h" -int main(int argc, char* argv[]) +void* receiver(void* d) { - std::cout << "anytun - secure anycast tunneling protocol" << std::endl; + TunDevice* dev = reinterpret_cast(d); - TunDevice* dev; -// dev = new TunDevice("tun", "192.168.200.1", "192.168.201.1"); - dev = new TunDevice("tap", "192.168.202.1", "255.255.255.0"); -// dev = new TunDevice("tun17", "192.168.200.1", "192.168.201.1"); - std::cout << "dev created (opened)" << std::endl; - std::cout << "dev opened - actual name is '" << dev->getActualName() << "'" << std::endl; - std::cout << "dev type is '" << dev->getType() << "'" << std::endl; - - Buffer inBuf(2000); - int len; - do + Buffer buf(1600); + while(1) { - len = dev->read(inBuf); + int len = dev->read(buf); std::cout << "read " << len << " bytes" << std::endl; } - while(len); + pthread_exit(NULL); +} - delete dev; - std::cout << "dev destroyed" << std::endl; +int main(int argc, char* argv[]) +{ + std::cout << "anytun - secure anycast tunneling protocol" << std::endl; + + SignalController sig; + sig.init(); + +// TunDevice dev("tun", "192.168.200.1", "192.168.201.1"); + TunDevice dev("tap", "192.168.202.1", "255.255.255.0"); +// TunDevice dev("tun17", "192.168.200.1", "192.168.201.1"); + + std::cout << "dev created (opened)" << std::endl; + std::cout << "dev opened - actual name is '" << dev.getActualName() << "'" << std::endl; + std::cout << "dev type is '" << dev.getType() << "'" << std::endl; + + pthread_t receiverThread; + pthread_create(&receiverThread, NULL, receiver, &dev); + pthread_detach(receiverThread); - return 0; + return sig.run();; } -- cgit v1.2.3