Simplify handler signatures: return response struct, typed_handler does encoding

This commit is contained in:
Ian Gulliver
2026-04-10 22:21:31 +09:00
parent e2a5d97dae
commit 58db392bf3
5 changed files with 19 additions and 21 deletions

View File

@@ -5,12 +5,12 @@
#include "net.h"
#include "debug_log.h"
size_t handle_picoboot(uint32_t message_id, std::span<const uint8_t>, span_writer &out) {
ResponsePICOBOOT handle_picoboot(const RequestPICOBOOT&) {
dispatch_schedule_ms(100, []{ reset_usb_boot(0, 1); });
return encode_response_into(out, message_id, ResponsePICOBOOT{});
return {};
}
size_t handle_info(uint32_t message_id, std::span<const uint8_t>, span_writer &out) {
ResponseInfo handle_info(const RequestInfo&) {
ResponseInfo resp;
pico_unique_board_id_t uid;
pico_get_unique_board_id(&uid);
@@ -19,12 +19,12 @@ size_t handle_info(uint32_t message_id, std::span<const uint8_t>, span_writer &o
resp.mac = ns.mac;
resp.ip = ns.ip;
resp.firmware_name = firmware_name;
return encode_response_into(out, message_id, resp);
return resp;
}
size_t handle_log(uint32_t message_id, std::span<const uint8_t>, span_writer &out) {
ResponseLog handle_log(const RequestLog&) {
ResponseLog resp;
for (auto& e : dlog_drain())
resp.entries.push_back(LogEntry{e.timestamp_us, std::move(e.message)});
return encode_response_into(out, message_id, resp);
return resp;
}