commit | 2bb3b0fec1632779217ad55556f632ce33a4b401 | [log] [tgz] |
---|---|---|
author | Vovo Yang <vovoy@google.com> | Mon Mar 11 03:56:44 2024 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Mar 11 21:50:58 2024 |
tree | 158e2382c8d8cb85786e3ab4fddf089432e71538 | |
parent | 35089b018ebb7276a32785b475510cd551b6a9e2 [diff] |
metrics: memd: Use system_api Generate the metrics_event protobuf code in system_api instead of in memd. BUG=b:273672971 TEST=cargo test Change-Id: I47decd289a8c8f358e1f0696dd104f483c2a6a58 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/5360436 Reviewed-by: Mike Frysinger <vapier@chromium.org> Commit-Queue: Vovo Yang <vovoy@chromium.org> Tested-by: Vovo Yang <vovoy@chromium.org> Reviewed-by: Miriam Zimmerman <mutexlox@chromium.org> NOKEYCHECK=True GitOrigin-RevId: edb3585caec84d750b7d5ed318f2a45563f31390
This directory (platform2/system_api
) contains constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS.
This directory is only for things like headers and .proto files. No implementation should be added.
When writting a .proto file make sure to use:
option optimize_for = LITE_RUNTIME;
This will force usage of a lite protobuf instead of a full/heavy weight protobuf. The browser only links against the light version, so you will get cryptic link errors about missing parts of Message if you define a protobuf here and then try to use it in Chrome. Currently CrOS links against the full protobuffer library, but that might change in the future.
When declaring a protobuf, avoid use of required unless it is exactly what you mean. “Required is Forever” and very rarely should actually be used. Consult Protocol Buffer Basics: C++ for a detailed of this issue.