Commit Graph

2214 Commits

Author SHA1 Message Date
bdd18b614f PIEthernet more accuracy construct
PIThread windows fix
2024-09-17 16:11:18 +03:00
e186e0adff shorter thread names 2024-09-17 15:58:06 +03:00
f105f616f6 PIThread more accurate end, PIEthernet tcpserver client no reinit 2024-09-17 13:22:20 +03:00
andrey.bychkov
b99c51181d fix test 2024-09-17 12:31:03 +03:00
andrey.bychkov
bc6b584480 fix waitLoop 2024-09-17 11:28:34 +03:00
eb97de1413 close 2024-09-17 11:21:23 +03:00
97f1c25ff8 close 2024-09-17 11:15:50 +03:00
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
andrey.bychkov
96625bd93d minor clean 2024-09-16 10:11:31 +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
cdc966bd8c Merge pull request 'client_server' (#181) from client_server into master
Reviewed-on: #181
2024-09-13 12:12:10 +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
16a818c95e picloud hang fix try :`-( 2024-09-06 08:05:26 +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
c8876807ed fix unidemponetial behaviour with PIP version 2024-07-30 17:21:30 +03:00
f43f834460 !! 2024-07-30 14:48:00 +03:00
ccf6b810b5 -librt is still need... 2024-07-30 14:41:54 +03:00
a438c4249d version fix 2024-07-30 14:26:07 +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