J. Nick Koston
dd07fba943
[socket] Document ready() contract: callers must drain or track ( #15590 )
2026-04-09 11:48:18 -04:00
J. Nick Koston
576d89a82a
[api] Peel first write iteration, inline socket writes, zero-gap batch encoding ( #15063 )
2026-04-08 11:05:53 -10:00
J. Nick Koston
2271ac6470
[api] Extract overflow buffer from frame helper into APIOverflowBuffer ( #14871 )
2026-03-18 18:41:45 -10:00
J. Nick Koston
2cd93daa5e
[api] Optimize plaintext varint encoding and devirtualize write_protobuf_packet ( #14758 )
2026-03-16 07:32:58 -10:00
J. Nick Koston
f2968e0449
[api] Reduce API code size with buffer and nodelay optimizations ( #14797 )
2026-03-14 08:13:50 -10:00
J. Nick Koston
8936be628f
[api] Increase log Nagle coalescing on all platforms except ESP8266 ( #14752 )
2026-03-13 07:37:30 -10:00
J. Nick Koston
c709010c4c
[api] Replace std::vector<uint8_t> with APIBuffer to skip zero-fill ( #14593 )
2026-03-10 09:11:12 -10:00
6ba5c9a705
[api] Skip state_action_() call in noise data path ( #14629 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 01:22:39 +00:00
J. Nick Koston
48b5cae6c4
[api] Use StringRef for user service string arguments ( #13974 )
2026-03-02 10:32:44 +13:00
J. Nick Koston
2585779f11
[api] Remove duplicate peername storage to save RAM ( #13540 )
2026-02-11 07:23:16 +13:00
J. Nick Koston
ddb762f8f5
[api] Limit Nagle batching for log messages to reduce LWIP buffer pressure ( #13439 )
2026-01-22 08:09:14 -10:00
J. Nick Koston
8464307a43
[api] Coalesce log packets to reduce buffer pressure and prevent dropped state updates ( #13026 )
2026-01-07 08:23:50 -10:00
J. Nick Koston and Keith Burzinski
2147ddf8c7
[api] Eliminate std::string from ClientInfo struct ( #12566 )
...
Co-authored-by: Keith Burzinski <kbx81x@gmail.com >
2026-01-06 21:32:23 +00:00
J. Nick Koston
850f189225
[api] Fix message batch size mismatch and improve naming consistency ( #12940 )
2026-01-04 23:44:49 +00:00
J. Nick Koston
fb82362e9c
[api] Eliminate rx_buf heap churn and release buffers after initial sync ( #12133 )
2025-11-28 12:13:29 -06:00
J. Nick Koston
c146d92425
[api] Remove redundant socket pointer from APIFrameHelper ( #11985 )
2025-11-25 06:53:42 +13:00
J. Nick Koston
5aff20a624
[api] Add message size limits to prevent memory exhaustion ( #10936 )
2025-10-08 00:47:31 +00:00
J. Nick Koston
19439199cc
[api] Add configurable send queue limit to prevent OOM crashes ( #10973 )
2025-10-06 09:25:04 +13:00
J. Nick Koston
3fd469cfe8
[esp8266][api] Store error strings in PROGMEM to reduce RAM usage ( #10568 )
2025-09-05 18:16:43 -05:00
J. Nick Koston
1f55486896
[api] Optimize APIFrameHelper virtual methods and mark implementations as final ( #10278 )
2025-08-18 15:55:11 -05:00
J. Nick Koston
c74f12be98
[api] Use C++17 nested namespace syntax ( #9856 )
2025-07-24 07:15:42 +00:00
J. Nick Koston
a45a45c688
[api] Split frame helper implementation into protocol-specific files ( #9746 )
2025-07-21 13:10:08 +12:00
J. Nick Koston and Copilot
5b5982cfdd
[api] Reduce memory usage by eliminating duplicate client info strings ( #9740 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-21 11:34:59 +12:00
J. Nick Koston
0aabdaa0c7
[api] Consolidate error handling and remove unused code ( #9726 )
2025-07-20 22:52:46 +00:00
J. Nick Koston
e474a33abd
[api] Memory optimizations for API frame helper buffering ( #9724 )
2025-07-21 10:20:35 +12:00
J. Nick Koston
143bf694c7
Optimize API flash usage by storing message size at compile time ( #9447 )
2025-07-11 19:38:23 -05:00
J. Nick Koston
3976fd02ea
Refactor duplicate socket read error handling in API frame helper ( #9370 )
2025-07-08 08:39:13 +12:00
J. Nick Koston
765793505d
Use std::span to eliminate heap allocation for single-packet API transmissions ( #9313 )
2025-07-07 14:53:23 +12:00
J. Nick Koston
15ef93ccc9
Optimize API connection loop performance ( #9184 )
2025-06-26 13:47:41 +12:00
J. Nick Koston
eeb0710ad4
Optimize API component memory usage by reordering class members to reduce padding ( #9111 )
2025-06-19 13:08:25 +12:00
J. Nick Koston
2ed5611a08
Replace API deferred queue with efficient message batching system ( #9012 )
2025-06-11 11:49:15 +12:00
J. Nick Koston and Copilot
d64b49cc13
Optimize plaintext API header reading to reduce system calls ( #8941 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-28 20:46:23 -05:00
J. Nick Koston
43e88af28a
Optimize socket operations by checking readiness in the main loop ( #8918 )
2025-05-28 18:16:37 -05:00
J. Nick Koston and Copilot
2ab1fe1abf
Use UINT16_MAX instead of hard coded 65535 in api ( #8884 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-22 23:51:06 +00:00
J. Nick Koston and Jesse Hills
377ed2e212
Optimize API frame helper buffer management ( #8805 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-05-22 21:11:16 +00:00
J. Nick Koston
b0c1e0e28c
Refactor API frame helpers to enable buffer reuse ( #8825 )
2025-05-19 09:05:20 +12:00
J. Nick Koston
dd8d8ad952
Use fixed buffer for plaintext protocol like noise protocol ( #8800 )
2025-05-15 17:16:08 +12:00
J. Nick Koston
8465017db9
Consolidate write_raw_ implementation to reduce code duplication ( #8717 )
2025-05-09 12:10:44 +12:00
tomaszduda23
cbc03aae80
[code-quality] fix clang-tidy api ( #7279 )
2024-10-07 11:55:11 +13:00
Jesse Hills
b60c08dd28
Add push to talk voice assistant ( #4648 )
...
* Add push to talk voice assistant
* Refactor most code into voice_assistant
* Make voice_assistant the component and remove push_to_talk (can be done in yaml)
* Fix component setup
* Always AF_INET to match serverside
* Fix microphone and media player co-existence
* Format
* Update codeowners
* Update test file
* Fix endifs
* nullptr not NULL
* clang-tidy
* Format
* fixup: Add VA event data
* Generate proto
* Parse and log events
* Add default to switch
* Fix
* Add mic/va to test5
2023-04-11 23:45:10 +00:00
RoboMagus
78b55d86e9
Unify 'nullptr' initalization of class members; ( #3805 )
2022-09-15 11:53:02 +12:00
Otto Winter
9220d9fc52
Fix socket connection closed not detected ( #2587 )
2021-10-22 10:46:44 +02:00
Otto Winter
aec02afcdc
Fix clang-tidy header filter ( #2385 )
...
* Fix clang-tidy header filter
* Allow private members
* Fix clang-tidy detections
* Run clang-format
* Fix remaining detections
* Fix graph
* Run clang-format
2021-09-24 18:02:28 +02:00
Otto Winter
a990898256
Add readv and writev for more efficient API packets ( #2342 )
2021-09-20 10:33:10 +12:00
Otto Winter
dd3f2f6c7e
Fix api noise explicit reject ( #2297 )
2021-09-14 11:53:49 +02:00
Otto Winter
ed7983af41
Fix API socket issues ( #2288 )
...
* Fix API socket issues
* Fix compile error against beta
* Format
2021-09-13 18:52:53 +02:00
Otto Winter
e5051eefbc
API encryption ( #2254 )
2021-09-09 09:22:47 +12:00
Otto Winter and Jesse Hills
2790d72bff
Convert API to use sockets ( #2253 )
...
* Socket component
* Lint
* Lint
* Fix esp8266 missing INADDR_ANY
* API convert to sockets and frame helper
* Fix compile error
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-09-08 12:52:57 +02:00