Commit Graph

782 Commits

Author SHA1 Message Date
97aad47a21 some fixes 2024-09-16 23:32:01 +03:00
43bd1d8550 Merge remote-tracking branch 'remotes/origin/tests_client_server' into test 2024-09-16 19:58:26 +03:00
andrey.bychkov
3255199b3f Unit tests for PIClientServer 2024-09-16 19:54:44 +03:00
224412e20a PIDir::temporary fix 2024-09-16 16:24:11 +03:00
000ce2a54d PICout improvement:
* renamed private members for more clear code
 * registerExternalBufferID() method to obtain unique ID for withExternalBuffer()
 * PICoutManipulators::PICoutStdStream enum for select stream (stdout or stderr)
 * Constructors now accept optional stream
 * piCerr and piCerrObj macros

PIDir::temporary() moved to "mkdtemp"

PILog:
 * now 4 levels
 * you can set max level
 * Error writes to piCerr
2024-09-16 16:06:07 +03:00
andrey.bychkov
f992bf4cbb build fix 2024-09-16 10:43:22 +03:00
9d4357c066 PIVector2D =() fix 2024-09-15 16:50:15 +03:00
7a945f47b1 PILog works 2024-09-13 23:05:24 +03:00
9a352bfc83 add PISystemTime::toFrequency(), add PILog 2024-09-13 18:00:48 +03:00
aa2f117075 finalize module 2024-09-13 13:37:09 +03:00
bf5bb45771 decompose, add new main group "Application"
PICLI code brush
2024-09-13 13:31:31 +03:00
17b902ebcc add PIClientServer::Config, common configuration type for both sides, stream packer and encryption settings 2024-09-13 11:08:32 +03:00
996b7ea403 important:
* PIThread::~PIThread() now unregister itself from introspection, if terminates than show warning
 * PISystemMonitor now correctly stops
 * PIPeer now can correctly stopAndWait
 * PIPeer::destroy(), protected method for close all eths and threads
 * new PIINTROSPECTION_STOP macro
 * Introspection now can be correctly stopped by macro, more safety

ClientServer:
 * ClientBase::close() stop and disconnect channel
 * Server clients clean-up now event-based
 * No warnings on client destructor
2024-09-12 17:07:48 +03:00
da4b09be9e PIEthernet fix tcp-server close (properly delete all clients)
PIEthernet::stopThreadedListen() method
decompose client to 2 implementations - server-side and client-side
2024-09-11 21:41:55 +03:00
b24b5a1346 add encryption 2024-09-11 15:44:02 +03:00
0d94699206 first try, works 2024-09-11 10:18:45 +03:00
a0454b809d change to private section 2024-08-28 17:21:11 +03:00
af8c096c7a PIStateMachine "addOnFinish" renamed to "setOnFinish" 2024-08-28 13:48:33 +03:00
14cf81aed0 remove void piLetobe(T * v) 2024-08-28 13:17:38 +03:00
c43b914fb3 PIMemoryBlock fix 2024-08-28 12:19:57 +03:00
f002f6cedd PIMemoryBlock fix 2024-08-28 12:19:37 +03:00
ce846eca51 fix deprecated message 2024-08-28 11:58:58 +03:00
e6c8714857 version 4.1.0
maybe fix hang on PIEthernet::interrupt()
replace piLetobe with piChangeEndian:
 * piChangeEndianBinary
 * piChangeBinary
 * piChangedBinary
PIDiagnostics::start now accept PISystemTime instead of number
add PITimer::start(PISystemTime, std::function<void()>) overload
2024-08-28 11:56:36 +03:00
33fc334077 PIStateMachine::postEvent() now thread-safe and can be recursive 2024-08-05 23:25:23 +03:00
6efc962923 in my opinion, PIStateMachine is ready to real work 2024-08-04 20:26:39 +03:00
7d02f710ea add PIPackedTCP 2024-08-02 14:43:42 +03:00
1c7fc39b6c 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
2024-07-30 14:18:02 +03:00
f07c9cbce8 add timeout transition 2024-07-28 20:16:52 +03:00
abdba6d68b state machine, parallel seems to work, final state and info about active atomic states 2024-07-17 21:11:01 +03:00
3db26a762c first state machine code, exclusive already works
need to make final, parallel, timeouts
2024-07-17 14:16:25 +03:00
b35561f74e doc fix 2024-07-17 14:14:38 +03:00
f041d1435e PIIODevice::waitThreadedReadFinished now periodically (100 ms) call interrupt() 2024-07-10 18:36:29 +03:00
b781bd5148 PIBroadcast fix 2024-07-10 16:56:40 +03:00
a16e0b7659 substitution fix 2024-07-09 21:47:18 +03:00
0bafd3fa98 PIValueTree improvements: methods with path (recursive), forEachRecursive()
PIValueTreeConvertions::fromTextFile now can include other files and handle ${} substitutions
2024-07-09 21:44:30 +03:00
903b320629 version 3.21.0
add PISystemTime overload for thread/timer/io classes
2024-07-09 16:32:27 +03:00
15dc76c4a7 1 2024-06-06 22:06:40 +03:00
d46b5e008a try to fix cloud again 2024-06-01 22:27:39 +03:00
af4b718053 PIValueTree::contains fix for null entry 2024-05-22 15:15:32 +03:00
7eae1e127c PIBroadcast polishing 2024-05-14 21:01:53 +03:00
f97fed7daa string append more protection 2024-05-13 22:29:22 +03:00
d764171c82 Обновить libs/main/containers/pipair.h 2024-05-13 14:35:49 +03:00
d4a024ea75 remove harmful createPIPair() 2024-05-06 19:22:22 +03:00
491d89f117 version 3.19.0
PIMathVectorT subvector methods
PISystemTime::isNull()
PISystemTime::Frequency::isNull()
PISystemTime::toString()
PISystemTime::fromString()
PIVariant can handle strings with PISystemTime
PIDateTime::toSystemTime() now returns null time from invalid strings
2024-05-05 00:17:52 +03:00
a86e8f7b58 PIIOTextStream(PIString * string) now with mandatory Mode 2024-05-02 21:35:29 +03:00
247759b364 version 3.18.0
PIMathMatrixT:: toType(), submatrix() and setSubmatrix()
2024-04-26 15:37:06 +03:00
a745f803b3 version 3.17.1
add PINonTriviallyCopyable struct
add PISerial check for error on Windows on every read()
2024-04-10 20:49:27 +03:00
1b67000887 PIPacketExtractor Timeout mode fix 2024-04-08 21:23:11 +03:00
04d3e31dbc PISet fix 2024-04-05 21:02:37 +03:00
9f29155d07 PISet fixes 2024-04-05 20:59:59 +03:00