Merge branch 'api-proto-write-presized-buffer' into integration

# Conflicts:
#	esphome/components/api/proto.h
This commit is contained in:
J. Nick Koston
2026-02-16 15:17:06 -06:00
4 changed files with 48 additions and 22 deletions

View File

@@ -689,6 +689,14 @@ class MessageType(TypeInfo):
def encode_func(self) -> str:
return "encode_message"
@property
def encode_content(self) -> str:
# Singular message fields pass force=false (skip empty messages)
# The default for encode_nested_message is force=true (for repeated fields)
return (
f"buffer.{self.encode_func}({self.number}, this->{self.field_name}, false);"
)
@property
def decode_length(self) -> str:
# Override to return None for message types because we can't use template-based