add PIPackedTCP
This commit is contained in:
93
main.cpp
93
main.cpp
@@ -2,7 +2,6 @@
|
||||
#include "picodeparser.h"
|
||||
#include "piiostream.h"
|
||||
#include "pijson.h"
|
||||
#include "piliterals_time.h"
|
||||
#include "pimathbase.h"
|
||||
#include "pip.h"
|
||||
#include "pivaluetree_conversions.h"
|
||||
@@ -17,7 +16,83 @@ enum MyEvent {
|
||||
meIntString,
|
||||
};
|
||||
|
||||
PITimeMeasurer tm;
|
||||
std::atomic_int cnt = {0};
|
||||
void tfunc(int delim) {
|
||||
// piCout << "tick with delimiter" << delim;
|
||||
++cnt;
|
||||
};
|
||||
void tfunc4(int delim) {
|
||||
piCout << "tick4 with delimiter" << delim;
|
||||
};
|
||||
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
PIPackedTCP * tcp_s =
|
||||
PIIODevice::createFromFullPath("ptcp://s::8000")->cast<PIPackedTCP>(); // new PIPackedTCP(PIPackedTCP::Server, {"0.0.0.0:8000"});
|
||||
PIPackedTCP * tcp_c = PIIODevice::createFromFullPath("ptcp://c:127.0.0.1:8000")
|
||||
->cast<PIPackedTCP>(); // new PIPackedTCP(PIPackedTCP::Client, {"127.0.0.1:8000"});
|
||||
piCout << tcp_s << tcp_c;
|
||||
// CONNECTL(&tcp_s, opened, []() { piCout << "Srv opened"; });
|
||||
// CONNECTL(&tcp_c, opened, []() { piCout << "Cli opened"; });
|
||||
// CONNECTL(&tcp_s, closed, []() { piCout << "Srv closed"; });
|
||||
// CONNECTL(&tcp_c, closed, []() { piCout << "Cli closed"; });
|
||||
CONNECTL(tcp_s, connected, []() { piCout << "Srv conn"; });
|
||||
CONNECTL(tcp_c, connected, []() { piCout << "Cli conn"; });
|
||||
CONNECTL(tcp_s, disconnected, []() { piCout << "Srv disconn"; });
|
||||
CONNECTL(tcp_c, disconnected, []() { piCout << "Cli disconn"; });
|
||||
CONNECTL(tcp_s, threadedReadEvent, [](const uchar * readed, ssize_t size) {
|
||||
PIByteArray d(readed, size);
|
||||
piCout << "Srv readed" << d;
|
||||
});
|
||||
CONNECTL(tcp_c, threadedReadEvent, [](const uchar * readed, ssize_t size) {
|
||||
PIByteArray d(readed, size);
|
||||
piCout << "Cli readed" << d;
|
||||
});
|
||||
// tcp_s->open();
|
||||
// tcp_c->open();
|
||||
tcp_s->startThreadedRead();
|
||||
tcp_c->startThreadedRead();
|
||||
piForTimes(5) {
|
||||
piCout << "\n1";
|
||||
piMSleep(200);
|
||||
piCout << "2";
|
||||
// tcp_c->close();
|
||||
piCout << "2+";
|
||||
// tcp_s->close();
|
||||
piCout << "3";
|
||||
// tcp_c->open();
|
||||
piCout << "3+";
|
||||
// tcp_s->open();
|
||||
piCout << "4";
|
||||
piMSleep(500);
|
||||
// piCout << "5";
|
||||
tcp_c->write("1234567890"_a.toByteArray());
|
||||
// piCout << "6";
|
||||
tcp_s->write("1234567890"_a.toByteArray());
|
||||
// piCout << "7";
|
||||
piMSleep(200);
|
||||
}
|
||||
// piCout << &tcp_s;
|
||||
// piCout << tcp_s->path();
|
||||
// piCout << tcp_s->constructFullPath();
|
||||
delete tcp_s;
|
||||
delete tcp_c;
|
||||
return 0;
|
||||
/*PITimer timer(tfunc);
|
||||
// timer.addDelimiter(2);
|
||||
timer.addDelimiter(40, tfunc4);
|
||||
|
||||
tm.reset();
|
||||
timer.start(0.5_Hz);
|
||||
piMSleep(2200);
|
||||
piCout << tm.elapsed_m() << cnt;
|
||||
|
||||
timer.stop();
|
||||
timer.waitForFinish();
|
||||
return 0;*/
|
||||
|
||||
|
||||
bool posted;
|
||||
PIStateMachine * root = new PIStateMachine("Machine");
|
||||
root->addOnFinish([] { piCout << "finish"; });
|
||||
@@ -49,9 +124,10 @@ int main(int argc, char * argv[]) {
|
||||
s2->setInitialState(s21);
|
||||
s21->setInitialState(s213);
|
||||
|
||||
s213->addTransition(s13, meVoid)->addAction([] { piCout << "action transition s21 -> s22"; });
|
||||
s3->addTransition(s212, meVoid)->addAction([] { piCout << "action transition s1 -> s213"; });
|
||||
// s2->addTransition(s3, meInt)->addGuard([](int i) { return i == 1; });
|
||||
// s213->addTransition(s13, meVoid)->addAction([] { piCout << "action transition s21 -> s22"; });
|
||||
// s3->addTransition(s212, meVoid)->addAction([] { piCout << "action transition s1 -> s213"; });
|
||||
s2->addTransition(s3, meVoid);
|
||||
s2->addTimeoutTransition(s3, .5_s);
|
||||
// s3->addTransition(s1, meIntString)->addGuard([](int i, PIString str) { return i == 2 && str == "hello"; });
|
||||
|
||||
root->start();
|
||||
@@ -59,10 +135,11 @@ int main(int argc, char * argv[]) {
|
||||
piCout << "active atomics" << root->activeAtomics();
|
||||
root->print();
|
||||
|
||||
piCout << "\npost event";
|
||||
posted = root->postEvent(meVoid);
|
||||
piCout << "posted" << posted << "\n";
|
||||
piCout << "active atomics" << root->activeAtomics();
|
||||
// piCout << "\npost event";
|
||||
// posted = root->postEvent(meVoid);
|
||||
// piCout << "posted" << posted << "\n";
|
||||
// piCout << "active atomics" << root->activeAtomics();
|
||||
piSleep(1.);
|
||||
root->print();
|
||||
|
||||
// piCout << "\npost event";
|
||||
|
||||
Reference in New Issue
Block a user