Skip to content

Commit def9073

Browse files
committed
ServiceServer cb with metadata
1 parent b3fb722 commit def9073

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/ServiceServer.ipp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ bool ServiceServer<T_REQ, T_RSP, OnRequestCb>::onTransferReceived(CanardRxTransf
4747
if (!req_rc) return false;
4848

4949
/* Invoke the service callback and obtain the desired response. */
50-
T_RSP const rsp = _on_request_cb(req);
50+
T_RSP rsp;
51+
if constexpr (std::is_invocable_v<OnRequestCb, T_REQ, TransferMetadata>) {
52+
rsp = _on_request_cb(req, fillMetadata(transfer));
53+
} else {
54+
rsp = _on_request_cb(req);
55+
}
5156

5257
/* Serialize the response message. */
5358
std::array<uint8_t, T_RSP::_traits_::SerializationBufferSizeBytes> rsp_buf;

0 commit comments

Comments
 (0)