mirror of
https://github.com/esphome/esphome.git
synced 2025-08-06 02:17:45 +00:00
preen
This commit is contained in:
parent
4c188fb4d3
commit
3a94361c64
@ -427,7 +427,6 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
ProtoVarInt value = *value_res;
|
ProtoVarInt value = *value_res;
|
||||||
|
|
||||||
// Try regular fields first
|
// Try regular fields first
|
||||||
if (fields != nullptr) {
|
|
||||||
for (size_t j = 0; j < field_count; j++) {
|
for (size_t j = 0; j < field_count; j++) {
|
||||||
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 0) {
|
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 0) {
|
||||||
void *field_addr = base + fields[j].get_offset();
|
void *field_addr = base + fields[j].get_offset();
|
||||||
@ -435,10 +434,9 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found, try repeated fields
|
// If not found, try repeated fields
|
||||||
if (!decoded && repeated_fields != nullptr) {
|
if (!decoded) {
|
||||||
for (size_t j = 0; j < repeated_count; j++) {
|
for (size_t j = 0; j < repeated_count; j++) {
|
||||||
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 0) {
|
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 0) {
|
||||||
void *field_addr = base + repeated_fields[j].get_offset();
|
void *field_addr = base + repeated_fields[j].get_offset();
|
||||||
@ -469,7 +467,6 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
ProtoLengthDelimited value(&buffer[i], field_length);
|
ProtoLengthDelimited value(&buffer[i], field_length);
|
||||||
|
|
||||||
// Try regular fields first
|
// Try regular fields first
|
||||||
if (fields != nullptr) {
|
|
||||||
for (size_t j = 0; j < field_count; j++) {
|
for (size_t j = 0; j < field_count; j++) {
|
||||||
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 2) {
|
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 2) {
|
||||||
void *field_addr = base + fields[j].get_offset();
|
void *field_addr = base + fields[j].get_offset();
|
||||||
@ -478,10 +475,9 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found, try repeated fields
|
// If not found, try repeated fields
|
||||||
if (!decoded && repeated_fields != nullptr) {
|
if (!decoded) {
|
||||||
for (size_t j = 0; j < repeated_count; j++) {
|
for (size_t j = 0; j < repeated_count; j++) {
|
||||||
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 2) {
|
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 2) {
|
||||||
void *field_addr = base + repeated_fields[j].get_offset();
|
void *field_addr = base + repeated_fields[j].get_offset();
|
||||||
@ -510,7 +506,6 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
Proto32Bit value(raw);
|
Proto32Bit value(raw);
|
||||||
|
|
||||||
// Try regular fields first
|
// Try regular fields first
|
||||||
if (fields != nullptr) {
|
|
||||||
for (size_t j = 0; j < field_count; j++) {
|
for (size_t j = 0; j < field_count; j++) {
|
||||||
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 5) {
|
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 5) {
|
||||||
void *field_addr = base + fields[j].get_offset();
|
void *field_addr = base + fields[j].get_offset();
|
||||||
@ -518,10 +513,9 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found, try repeated fields
|
// If not found, try repeated fields
|
||||||
if (!decoded && repeated_fields != nullptr) {
|
if (!decoded) {
|
||||||
for (size_t j = 0; j < repeated_count; j++) {
|
for (size_t j = 0; j < repeated_count; j++) {
|
||||||
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 5) {
|
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 5) {
|
||||||
void *field_addr = base + repeated_fields[j].get_offset();
|
void *field_addr = base + repeated_fields[j].get_offset();
|
||||||
@ -553,7 +547,6 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
Proto64Bit value(raw);
|
Proto64Bit value(raw);
|
||||||
|
|
||||||
// Try regular fields first
|
// Try regular fields first
|
||||||
if (fields != nullptr) {
|
|
||||||
for (size_t j = 0; j < field_count; j++) {
|
for (size_t j = 0; j < field_count; j++) {
|
||||||
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 1) {
|
if (fields[j].field_num == field_id && get_wire_type(fields[j].get_type()) == 1) {
|
||||||
void *field_addr = base + fields[j].get_offset();
|
void *field_addr = base + fields[j].get_offset();
|
||||||
@ -561,10 +554,9 @@ void ProtoMessage::decode(const uint8_t *buffer, size_t length) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found, try repeated fields
|
// If not found, try repeated fields
|
||||||
if (!decoded && repeated_fields != nullptr) {
|
if (!decoded) {
|
||||||
for (size_t j = 0; j < repeated_count; j++) {
|
for (size_t j = 0; j < repeated_count; j++) {
|
||||||
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 1) {
|
if (repeated_fields[j].field_num == field_id && get_wire_type(repeated_fields[j].get_type()) == 1) {
|
||||||
void *field_addr = base + repeated_fields[j].get_offset();
|
void *field_addr = base + repeated_fields[j].get_offset();
|
||||||
@ -596,7 +588,6 @@ void ProtoMessage::encode(ProtoWriteBuffer buffer) const {
|
|||||||
const FieldMeta *fields = get_field_metadata();
|
const FieldMeta *fields = get_field_metadata();
|
||||||
size_t field_count = get_field_count();
|
size_t field_count = get_field_count();
|
||||||
|
|
||||||
if (fields != nullptr) {
|
|
||||||
for (size_t i = 0; i < field_count; i++) {
|
for (size_t i = 0; i < field_count; i++) {
|
||||||
const void *field_addr = base + fields[i].get_offset();
|
const void *field_addr = base + fields[i].get_offset();
|
||||||
|
|
||||||
@ -609,13 +600,11 @@ void ProtoMessage::encode(ProtoWriteBuffer buffer) const {
|
|||||||
encode_field(buffer, fields[i].get_type(), fields[i].field_num, field_addr, false);
|
encode_field(buffer, fields[i].get_type(), fields[i].field_num, field_addr, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Encode repeated fields - reuse the same encode_field function!
|
// Encode repeated fields - reuse the same encode_field function!
|
||||||
const RepeatedFieldMeta *repeated_fields = get_repeated_field_metadata();
|
const RepeatedFieldMeta *repeated_fields = get_repeated_field_metadata();
|
||||||
size_t repeated_count = get_repeated_field_count();
|
size_t repeated_count = get_repeated_field_count();
|
||||||
|
|
||||||
if (repeated_fields != nullptr) {
|
|
||||||
for (size_t i = 0; i < repeated_count; i++) {
|
for (size_t i = 0; i < repeated_count; i++) {
|
||||||
const void *field_addr = base + repeated_fields[i].get_offset();
|
const void *field_addr = base + repeated_fields[i].get_offset();
|
||||||
|
|
||||||
@ -636,7 +625,6 @@ void ProtoMessage::encode(ProtoWriteBuffer buffer) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void ProtoMessage::calculate_size(uint32_t &total_size) const {
|
void ProtoMessage::calculate_size(uint32_t &total_size) const {
|
||||||
const uint8_t *base = reinterpret_cast<const uint8_t *>(this);
|
const uint8_t *base = reinterpret_cast<const uint8_t *>(this);
|
||||||
@ -645,7 +633,6 @@ void ProtoMessage::calculate_size(uint32_t &total_size) const {
|
|||||||
const FieldMeta *fields = get_field_metadata();
|
const FieldMeta *fields = get_field_metadata();
|
||||||
size_t field_count = get_field_count();
|
size_t field_count = get_field_count();
|
||||||
|
|
||||||
if (fields != nullptr) {
|
|
||||||
for (size_t i = 0; i < field_count; i++) {
|
for (size_t i = 0; i < field_count; i++) {
|
||||||
const void *field_addr = base + fields[i].get_offset();
|
const void *field_addr = base + fields[i].get_offset();
|
||||||
|
|
||||||
@ -658,13 +645,11 @@ void ProtoMessage::calculate_size(uint32_t &total_size) const {
|
|||||||
calculate_field_size(total_size, fields[i].get_type(), fields[i].get_precalced_size(), field_addr, false);
|
calculate_field_size(total_size, fields[i].get_type(), fields[i].get_precalced_size(), field_addr, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Calculate size for repeated fields - reuse the same calculate_field_size function!
|
// Calculate size for repeated fields - reuse the same calculate_field_size function!
|
||||||
const RepeatedFieldMeta *repeated_fields = get_repeated_field_metadata();
|
const RepeatedFieldMeta *repeated_fields = get_repeated_field_metadata();
|
||||||
size_t repeated_count = get_repeated_field_count();
|
size_t repeated_count = get_repeated_field_count();
|
||||||
|
|
||||||
if (repeated_fields != nullptr) {
|
|
||||||
for (size_t i = 0; i < repeated_count; i++) {
|
for (size_t i = 0; i < repeated_count; i++) {
|
||||||
const void *field_addr = base + repeated_fields[i].get_offset();
|
const void *field_addr = base + repeated_fields[i].get_offset();
|
||||||
|
|
||||||
@ -701,7 +686,6 @@ void ProtoMessage::calculate_size(uint32_t &total_size) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace api
|
} // namespace api
|
||||||
} // namespace esphome
|
} // namespace esphome
|
Loading…
x
Reference in New Issue
Block a user