mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Merge branch 'api_reduce_2' into integration
This commit is contained in:
		| @@ -291,7 +291,6 @@ uint16_t APIConnection::encode_message_to_buffer(ProtoMessage &msg, uint8_t mess | ||||
|  | ||||
|   // Get buffer size after allocation (which includes header padding) | ||||
|   std::vector<uint8_t> &shared_buf = conn->parent_->get_shared_buffer_ref(); | ||||
|   size_t size_before_encode = shared_buf.size(); | ||||
|  | ||||
|   if (is_single || conn->flags_.batch_first_message) { | ||||
|     // Single message or first batch message | ||||
| @@ -302,11 +301,13 @@ uint16_t APIConnection::encode_message_to_buffer(ProtoMessage &msg, uint8_t mess | ||||
|   } else { | ||||
|     // Batch message second or later | ||||
|     // Add padding for previous message footer + this message header | ||||
|     shared_buf.reserve(size_before_encode + total_calculated_size); | ||||
|     shared_buf.resize(size_before_encode + footer_size + header_padding); | ||||
|     size_t current_size = shared_buf.size(); | ||||
|     shared_buf.reserve(current_size + total_calculated_size); | ||||
|     shared_buf.resize(current_size + footer_size + header_padding); | ||||
|   } | ||||
|  | ||||
|   // Encode directly into buffer | ||||
|   size_t size_before_encode = shared_buf.size(); | ||||
|   msg.encode({&shared_buf}); | ||||
|  | ||||
|   // Calculate actual encoded size (not including header that was already added) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user