J. Nick Koston
1b070629bc
[api] Make generated encode and size entry points type erased
...
Every message sent through send_message or the entity paths needed a
proto_encode_msg<T> thunk (17 bytes on xtensa) and, for entity state
and info messages, a calc_size<T> thunk, because the generated encode
and calculate_size were member functions and the connection code wants
plain function pointers over const void *.
The generator now emits the bodies as static encode_msg(const void *)
and calc_size_msg(const void *) functions, so &T::encode_msg is
already a MessageEncodeFn and the thunks disappear. The member
encode() and calculate_size() remain as inline forwarders for direct
callers. ProtoMessage carries the same static defaults for messages
without fields, which also removes the separate no-op encode thunk.
2026-09-07 15:57:12 +02:00
..
2026-08-23 21:59:19 -05:00
2026-08-28 13:50:52 -05:00
2026-08-26 13:23:16 +12:00
2026-09-07 15:57:12 +02:00
2026-08-28 21:08:15 -05:00
2026-08-14 18:45:23 -07:00
2026-08-23 21:59:19 -05:00
2026-09-07 10:28:31 +12:00
2022-10-05 20:09:27 +13:00
2026-04-23 08:43:32 -05:00
2026-08-13 12:11:32 +12:00
2026-09-03 15:16:36 -04:00
2026-08-28 13:50:52 -05:00
2026-08-05 20:57:08 +00:00
2026-04-07 10:09:27 -10:00
2026-08-20 11:32:15 -05:00
2026-03-23 16:09:23 +13:00
2026-08-26 11:16:02 +12:00
2025-10-06 15:36:27 -05:00
2026-08-23 09:05:04 -05:00
2026-08-19 12:30:12 -05:00
2026-08-12 18:44:35 +12:00
2025-09-19 12:59:48 +00:00
2026-08-26 16:29:14 +12:00
2026-08-26 11:16:02 +12:00
2025-09-18 13:11:30 +12:00
2026-04-08 08:38:00 -04:00
2026-08-04 19:46:44 +00:00
2026-08-25 12:38:20 -05:00
2026-08-14 18:45:23 -07:00
2026-08-23 21:59:19 -05:00
2026-08-24 15:59:00 -05:00
2026-08-28 13:43:48 -05:00
2026-08-11 12:38:55 -05:00
2026-08-25 12:36:57 -05:00
2026-09-06 23:59:40 +02:00
2026-08-24 15:59:00 -05:00
2026-08-24 08:25:39 +12:00
2026-09-07 10:28:31 +12:00
2026-09-01 14:25:58 +12:00
2026-08-25 12:38:20 -05:00
2026-08-28 13:42:42 -05:00
2026-08-10 09:44:01 -05:00
2026-08-13 13:31:19 -05:00
2026-08-23 11:26:55 -05:00
2026-09-06 23:59:40 +02:00
2026-08-13 12:11:32 +12:00
2026-08-25 12:38:20 -05:00
2026-08-26 11:16:02 +12:00
2026-08-02 21:16:21 +00:00
2026-08-04 14:38:28 -05:00
2026-08-23 22:24:12 -05:00
2026-09-01 14:25:58 +12:00
2026-09-07 10:28:31 +12:00
2026-09-07 10:28:31 +12:00
2026-08-11 10:55:42 -05:00
2026-08-27 14:42:30 +12:00
2026-08-13 20:06:48 -05:00
2026-07-05 11:48:30 +10:00
2026-08-05 20:57:08 +00:00
2026-08-23 21:59:19 -05:00
2026-08-05 20:50:48 +00:00
2026-08-14 18:45:23 -07:00
2026-08-20 11:32:15 -05:00
2026-05-11 09:13:16 -04:00
2026-08-11 14:35:06 -05:00
2026-03-10 16:38:50 -04:00
2026-08-18 19:37:10 -05:00
2026-08-12 22:00:07 +12:00
2026-08-12 22:00:07 +12:00
2026-08-12 22:00:07 +12:00
2026-09-06 23:59:40 +02:00
2026-08-25 20:24:47 -05:00
2026-08-28 21:08:15 -05:00
2026-08-23 22:24:12 -05:00
2026-05-03 20:01:51 -05:00