git-svn-id: svn://db.shs.com.ru/pip@838 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
168
main.cpp
168
main.cpp
@@ -1,10 +1,112 @@
|
||||
#include "pip.h"
|
||||
#include "piintrospection_server.h"
|
||||
#include "piintrospection_containers_p.h"
|
||||
//#include <winsock2.h>
|
||||
|
||||
class CL: public PIObject {
|
||||
PIOBJECT(CL)
|
||||
public:
|
||||
EVENT_HANDLER1(void, nc, PIEthernet * , client) {
|
||||
piCout << "client" << client;
|
||||
}
|
||||
};
|
||||
|
||||
PIKbdListener kbd(0, 0, false);
|
||||
#include <typeinfo>
|
||||
#define PIIS_TYPENAME(t) typeid(t).name()
|
||||
|
||||
template<typename T> class Name
|
||||
{
|
||||
public:
|
||||
static const char * name() {return PIIS_TYPENAME(T);}
|
||||
};
|
||||
|
||||
PISystemMonitor sys_mon;
|
||||
|
||||
|
||||
|
||||
class TestRec: public PIObject {
|
||||
PIOBJECT(TestRec)
|
||||
public:
|
||||
EVENT_HANDLER(void, reinitSpec) {piCout << "reinitSpec";int a = 10; (void*)&a;}
|
||||
|
||||
EVENT_HANDLER(void, coeffsChanged) {piCout << "coeffsChanged";}
|
||||
EVENT_HANDLER(void, guiAboutSend) {piCout << "guiAboutSend";}
|
||||
EVENT_HANDLER(void, guiAfterSend) {piCout << "guiAfterSend";}
|
||||
EVENT_HANDLER(void, guiReceived) {piCout << "guiReceived";}
|
||||
|
||||
EVENT_HANDLER(void, playerReceived) {piCout << "playerReceived";int a = 10; (void*)&a;}
|
||||
|
||||
EVENT_HANDLER(void, playerValuesReceived) {piCout << "playerValuesReceived";}
|
||||
EVENT_HANDLER(void, calculate) {piCout << "calculate";}
|
||||
EVENT_HANDLER(void, autostart) {piCout << "autostart";}
|
||||
|
||||
EVENT_HANDLER(void, syncOff) {piCout << "syncOff";int a = 10; (void*)&a;}
|
||||
|
||||
EVENT_HANDLER(void, del) {piCout << "DEL";}
|
||||
};
|
||||
|
||||
class TestSnd: public PIObject {
|
||||
PIOBJECT_SUBCLASS(TestSnd, PIObject)
|
||||
public:
|
||||
EVENT(reinitSpec)
|
||||
EVENT(coeffsChanged)
|
||||
EVENT(guiAboutSend)
|
||||
EVENT(guiAfterSend)
|
||||
EVENT(guiReceived)
|
||||
EVENT(playerReceived)
|
||||
EVENT(playerValuesReceived)
|
||||
EVENT(calculate)
|
||||
EVENT(autostart)
|
||||
EVENT(syncOff)
|
||||
};
|
||||
|
||||
#define CONN(sn) CONNECTU(snd, sn, rec, sn)
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
PIMap<int, PIVector<int> > x;
|
||||
x[3] << 5;
|
||||
piCout << x;
|
||||
x.remove(3);
|
||||
//sys_mon.startOnSelf();
|
||||
|
||||
PITimeMeasurer tm;
|
||||
|
||||
TestRec * rec = 0;
|
||||
TestSnd * snd = 0;
|
||||
|
||||
for (int i = 0; i < 1; ++i) {
|
||||
if (rec) delete rec;
|
||||
if (snd) delete snd;
|
||||
rec = new TestRec();
|
||||
snd = new TestSnd();
|
||||
}
|
||||
|
||||
CONNECTU(snd, deleted, rec, del)
|
||||
CONN(reinitSpec)
|
||||
CONN(coeffsChanged)
|
||||
CONN(guiAboutSend)
|
||||
CONN(guiAfterSend)
|
||||
CONN(guiReceived)
|
||||
CONN(playerReceived)
|
||||
CONN(playerValuesReceived)
|
||||
CONN(calculate)
|
||||
CONN(autostart)
|
||||
CONN(syncOff);
|
||||
|
||||
// 0.6 us on call
|
||||
for (int j = 0; j < 10; ++j) {
|
||||
tm.reset();
|
||||
for (int i = 0; i < 10000; ++i) {
|
||||
snd->reinitSpec();
|
||||
snd->playerReceived();
|
||||
snd->syncOff();
|
||||
}
|
||||
double el = tm.elapsed_m();
|
||||
piCout << el;
|
||||
}
|
||||
|
||||
//snd->dump();
|
||||
|
||||
delete snd;
|
||||
delete rec;
|
||||
|
||||
PIString s;
|
||||
s = "gafaffaf";
|
||||
piCout << s;
|
||||
@@ -12,4 +114,62 @@ int main(int argc, char * argv[]) {
|
||||
s = "dd";
|
||||
piCout << s;
|
||||
return 0;
|
||||
|
||||
PIINTROSPECTION_START;
|
||||
//uint id = standardCRC_32().calculate("6PIChar");
|
||||
//PIIntrospectionContainers * ci = PIINTROSPECTION_CONTAINERS->p;
|
||||
FOREVER {
|
||||
piMSleep(100);
|
||||
//piCout << ci->data[id].count << ci->data[id].bytes_allocated << ci->data[id].bytes_used;
|
||||
}
|
||||
return 0;
|
||||
|
||||
PICLI cli(argc, argv);
|
||||
cli.setDebug(false);
|
||||
cli.addArgument("send");
|
||||
//PISystemInfo::machineID();
|
||||
kbd.enableExitCapture();
|
||||
kbd.start();
|
||||
|
||||
if (cli.hasArgument("send")) {
|
||||
/*piCout << "send mode";
|
||||
PIEthernet eth;
|
||||
eth.setSendAddress(cli.rawArguments().back() + ":15123");
|
||||
eth.open();
|
||||
while (!kbd.exiting) {
|
||||
eth.send(PIByteArray("test string", 12));
|
||||
piMSleep(500);
|
||||
}*/
|
||||
PIEthernet eth(PIEthernet::TCP_Server);
|
||||
eth.listen(cli.rawArguments().back() + ":15123", true);
|
||||
//eth.open();
|
||||
CL cl;
|
||||
CONNECTU(ð, newConnection, &cl, nc);
|
||||
|
||||
WAIT_FOR_EXIT;
|
||||
piCout << "exiting ...";
|
||||
|
||||
} else {
|
||||
piCout << "recv mode";
|
||||
PIEthernet eth(PIEthernet::TCP_Client);
|
||||
//eth.setReadAddress(cli.rawArguments().back() + ":15123");
|
||||
eth.startThreadedRead();
|
||||
int s = eth.socket();
|
||||
piCout << s;
|
||||
piCout << "connect ...";
|
||||
eth.connect(cli.rawArguments().back() + /*":13361"*/":15123");
|
||||
piCout << "connect done" << eth.isConnected();
|
||||
//fcntl(fd, F_SETFL, O_NONBLOCK);
|
||||
|
||||
WAIT_FOR_EXIT;
|
||||
piCout << "exiting ...";
|
||||
|
||||
}
|
||||
/*PIThread t;
|
||||
t.start(10);
|
||||
//WAIT_FOR_EXIT;
|
||||
piSleep(20.);
|
||||
t.stop(true);*/
|
||||
piCout << "exit main ...";
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user