@@ -24,18 +24,18 @@ concept packer = std::integral<typename T::template pack_as_t<int>> and
24
24
template <typename , packer> struct builder ;
25
25
26
26
template <packer P> struct builder <defn::short32_msg_t , P> {
27
- template <auto Level> static auto build (string_id id, module_id) {
27
+ template <auto Level> static auto build (string_id id, module_id, unit_t ) {
28
28
using namespace msg ;
29
29
return owning<defn::short32_msg_t >{" payload" _field = id};
30
30
}
31
31
};
32
32
33
33
template <typename Storage, packer P> struct catalog_builder {
34
34
template <auto Level, packable... Ts>
35
- static auto build (string_id id, module_id m, Ts... args) {
35
+ static auto build (string_id id, module_id m, unit_t u, Ts... args) {
36
36
using namespace msg ;
37
- defn::catalog_msg_t ::owner_t <Storage> message{" severity " _field = Level,
38
- " module_id " _field = m };
37
+ defn::catalog_msg_t ::owner_t <Storage> message{
38
+ " severity " _field = Level, " module_id " _field = m, " unit " _field = u };
39
39
40
40
using V = typename Storage::value_type;
41
41
constexpr auto header_size = defn::catalog_msg_t ::size<V>::value;
@@ -65,7 +65,7 @@ template <typename Storage, packer P> struct catalog_builder {
65
65
66
66
template <packer P> struct builder <defn::catalog_msg_t , P> {
67
67
template <auto Level, typename ... Ts>
68
- static auto build (string_id id, module_id m, Ts... args) {
68
+ static auto build (string_id id, module_id m, unit_t u, Ts... args) {
69
69
using namespace msg ;
70
70
constexpr auto payload_size =
71
71
(sizeof (id) + ... + sizeof (typename P::template pack_as_t <Ts>));
@@ -74,7 +74,7 @@ template <packer P> struct builder<defn::catalog_msg_t, P> {
74
74
using storage_t =
75
75
std::array<std::uint32_t , header_size + stdx::sized8{payload_size}
76
76
.in <std::uint32_t >()>;
77
- return catalog_builder<storage_t , P>{}.template build <Level>(id, m,
77
+ return catalog_builder<storage_t , P>{}.template build <Level>(id, m, u,
78
78
args...);
79
79
}
80
80
};
@@ -115,13 +115,13 @@ template <packer P> struct builder<defn::normal_build_msg_t, P> {
115
115
116
116
template <packer P = logging::default_arg_packer> struct default_builder {
117
117
template <auto Level, packable... Ts>
118
- static auto build (string_id id, module_id m, Ts... args) {
118
+ static auto build (string_id id, module_id m, unit_t unit, Ts... args) {
119
119
if constexpr (sizeof ...(Ts) == 0u ) {
120
- return builder<defn::short32_msg_t , P>{}.template build <Level>(id,
121
- m );
120
+ return builder<defn::short32_msg_t , P>{}.template build <Level>(
121
+ id, m, unit );
122
122
} else {
123
123
return builder<defn::catalog_msg_t , P>{}.template build <Level>(
124
- id, m, args...);
124
+ id, m, unit, args...);
125
125
}
126
126
}
127
127
0 commit comments