J. Nick Koston and Claude Opus 4.6
7122fb6f88
Merge remote-tracking branch 'upstream/api-sint32-short-varint' into integration
...
Fix double static_cast in enum encode precomputed tag path by
passing raw field ref instead of pre-cast value_expr.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 08:31:05 -10:00
J. Nick Koston
6f4f852d8e
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-31 20:15:36 -10:00
J. Nick Koston
2c9a3051d6
[api] Use memcpy for fixed32 decode on little-endian platforms ( #15292 )
2026-03-31 07:43:18 -10:00
J. Nick Koston
0603190c3c
[api] Restore debug bounds checks in __restrict__ varint loops
...
Add sync_debug_check_bounds_() that syncs pos_ from a local pointer
before checking bounds. Use it in encode_varint_raw_64 and
encode_varint_raw_slow_ to restore per-byte bounds checking in
debug mode without breaking the __restrict__ optimization in
production (where it's a no-op).
2026-03-28 19:55:50 -10:00
J. Nick Koston
83e4478bc2
[api] Apply __restrict__ local hoist to encode_varint_raw_slow_
...
Same optimization as encode_varint_raw_64: hoist pos_ into a
__restrict__ local so the compiler keeps it in a register across
the loop instead of reloading from memory each iteration.
2026-03-28 19:45:49 -10:00
J. Nick Koston and Claude Opus 4.6
6e468936ec
[api] Inline ProtoVarInt::parse fast path and return consumed in struct ( #14638 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 09:10:55 -10:00
J. Nick Koston and Claude Opus 4.6
a530aeec22
[api] Inline varint and encode_varint_raw fast paths for hot loop performance ( #14607 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 22:09:12 -10:00
J. Nick Koston
77f2c371b2
[api] Single-pass protobuf encode for BLE proxy advertisements ( #14575 )
2026-03-07 07:26:34 -10:00
J. Nick Koston
8bb577de64
[api] Split ProtoVarInt::parse into 32-bit and 64-bit phases ( #14039 )
2026-02-25 12:23:13 -06:00
J. Nick Koston
f77da803c9
[api] Write protobuf encode output to pre-sized buffer directly ( #14018 )
2026-02-20 21:39:18 -06:00
schrob
4fb1ddf212
[api] Fix compiler format warnings ( #13931 )
2026-02-11 08:40:21 -06:00
J. Nick Koston
69d7b6e921
[api] Use subtraction for protobuf bounds checking ( #13306 )
2026-01-16 15:46:15 -10:00
J. Nick Koston
7fed9144a6
[api] Use stack buffer for VERY_VERBOSE proto message dumps ( #13176 )
2026-01-13 08:04:48 -10:00
J. Nick Koston
6943b1d985
[api] Use FixedVector for ExecuteServiceRequest/Argument arrays to eliminate reallocations ( #11270 )
2025-10-16 16:22:08 +13:00
J. Nick Koston
44bd8e5b54
[api] Optimize protobuf decode loop for better performance and maintainability ( #10277 )
2025-08-18 16:14:20 -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
15768ec00d
Reduce API proto vtable overhead by splitting decode functionality ( #9541 )
2025-07-16 20:46:04 +12:00
487e1f871f
use `encode_uintXX` ( #8847 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-11 17:06:45 +12:00
Jörg Thalheim
421ebcc8b2
use PRIx macros for printing u32/i32 ints ( #4671 )
...
This fix compilation issues with the latest esp-idf.
2023-04-10 22:20:02 +00:00
Jesse Hills
bfbf88b2ea
Webserver utilize Component Iterator to not overload eventstream ( #3310 )
2022-03-23 09:45:05 +13:00
Oxan van Leeuwen
926bcc71ae
Only compile protobuf dumping when very verbose logging is enabled ( #2139 )
2021-08-09 22:32:06 +02:00
Stefan Agner
501f88ca86
Avoid non-const globals and enable clang-tidy check ( #1892 )
2021-06-11 08:19:44 +12:00
Dan Jackson
5df398ec31
Add encode_uint32 method ( #1427 )
2021-01-10 17:53:12 +13:00
Otto Winter
369d175694
Create Protobuf Plugin for automatically generating native API stubs ( #633 )
...
* Create Protobuf Plugin for automatically generating native API stubs
* Format
* Delete api.proto
* Cleanup, use no_delay conditionally
* Updates
* Update
* Lint
* Lint
* Fixes
* Camera
* CustomAPIDevice
* Fix negative VarInt, Add User-defined services arrays
* Home Assistant Event
* Fixes
* Update custom_api_device.h
2019-06-18 19:31:22 +02:00