version 4.0.0_alpha

in almost all methods removed timeouts in milliseconds, replaced to PISystemTime
PITimer rewrite, remove internal impl, now only thread implementation, API similar to PIThread
PITimer API no longer pass void*
PIPeer, PIConnection improved stability on reinit and exit
PISystemTime new methods
pisd now exit without hanging
This commit is contained in:
2024-07-30 14:18:02 +03:00
parent f07c9cbce8
commit 1c7fc39b6c
58 changed files with 677 additions and 1191 deletions

View File

@@ -1,10 +1,10 @@
#include "pip.h"
//! [delimiter]
void tfunc(void * , int delim) {
void tfunc(int delim) {
piCout << "tick with delimiter" << delim;
};
void tfunc4(void * , int delim) {
void tfunc4(int delim) {
piCout << "tick4 with delimiter" << delim;
};
int main() {
@@ -13,8 +13,7 @@ int main() {
timer.addDelimiter(4, tfunc4);
timer.start(50);
piMSleep(200);
timer.stop();
timer.waitForFinish();
timer.stopAndWait();
return 0;
};
/* Result:
@@ -29,14 +28,14 @@ tick4 with delimiter 4
//! [delimiter]
//! [elapsed]
int main() {
PITimer timer;
PITimeMeasurer tm;
piMSleep(100);
piCout << "elapsed" << timer.elapsed_m() << "ms";
piCout << "elapsed" << tm.elapsed_m() << "ms";
piMSleep(100);
piCout << "elapsed" << timer.elapsed_m() << "ms";
timer.reset();
piCout << "elapsed" << tm.elapsed_m() << "ms";
tm.reset();
piMSleep(150);
piCout << "elapsed" << timer.elapsed_s() << "s";
piCout << "elapsed" << tm.elapsed_s() << "s";
return 0;
};
/* Result:
@@ -47,22 +46,21 @@ elapsed 0.15 s
//! [elapsed]
//! [system_time]
int main() {
PISystemTime t0; // s = ns = 0
t0.addMilliseconds(200); // s = 0, ns = 200000000
t0.addMilliseconds(900); // s = 1, ns = 100000000
PISystemTime t0; // s = ns = 0
t0.addMilliseconds(200); // s = 0, ns = 200000000
t0.addMilliseconds(900); // s = 1, ns = 100000000
t0 -= PISystemTime::fromSeconds(0.1); // s = 1, ns = 0
t0.sleep(); // sleep for 1 second
t0.sleep(); // sleep for 1 second
PISystemTime t1;
t0 = currentSystemTime();
t0 = PISystemTime::current();
piMSleep(500);
t1 = currentSystemTime();
t1 = PISystemTime::current();
(t1 - t0).sleep(); // sleep for 500 milliseconds
return 0;
};
//! [system_time]
void _() {
void _(){
};

View File

@@ -56,7 +56,7 @@ class MainClass: public PITimer {
public:
MainClass() {}
protected:
void tick(void * data, int delimiter) {
void tick(int delimiter) {
piCout << "timer tick";
// timer tick
}