Skip to content

Commit b86ee69

Browse files
authored
Merge branch 'master' into dependabot/github_actions/actions/setup-node-4
2 parents df02c7b + 4ca3ab8 commit b86ee69

36 files changed

Lines changed: 486 additions & 56 deletions

NEWS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
x/y/2023 ola-0.10.10
1+
x/y/2024 ola-0.10.10
22
Features:
33
*
44

common/messaging/DescriptorTest.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ using ola::messaging::BoolFieldDescriptor;
3434
using ola::messaging::FieldDescriptor;
3535
using ola::messaging::FieldDescriptorGroup;
3636
using ola::messaging::IPV4FieldDescriptor;
37+
using ola::messaging::IPV6FieldDescriptor;
3738
using ola::messaging::MACFieldDescriptor;
3839
using ola::messaging::StringFieldDescriptor;
3940
using ola::messaging::UIDFieldDescriptor;
@@ -77,6 +78,13 @@ void DescriptorTest::testFieldDescriptors() {
7778
OLA_ASSERT_TRUE(ipv4_descriptor.LimitedSize());
7879
OLA_ASSERT_EQ(4u, ipv4_descriptor.MaxSize());
7980

81+
// IPv6 address
82+
IPV6FieldDescriptor ipv6_descriptor("ipv6");
83+
OLA_ASSERT_EQ(string("ipv6"), ipv6_descriptor.Name());
84+
OLA_ASSERT_TRUE(ipv6_descriptor.FixedSize());
85+
OLA_ASSERT_TRUE(ipv6_descriptor.LimitedSize());
86+
OLA_ASSERT_EQ(16u, ipv6_descriptor.MaxSize());
87+
8088
// MAC address
8189
MACFieldDescriptor mac_descriptor("mac");
8290
OLA_ASSERT_EQ(string("mac"), mac_descriptor.Name());

common/messaging/MessagePrinter.cpp

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,37 +45,44 @@ string MessagePrinter::AsString(const Message *message) {
4545

4646

4747
void GenericMessagePrinter::Visit(const BoolMessageField *message) {
48-
Stream() << string(m_indent, ' ') <<
49-
TransformLabel(message->GetDescriptor()->Name()) << ": "
50-
<< (message->Value() ? "true" : "false") << endl;
48+
Stream() << string(m_indent, ' ')
49+
<< TransformLabel(message->GetDescriptor()->Name()) << ": "
50+
<< (message->Value() ? "true" : "false") << endl;
5151
}
5252

5353

5454
void GenericMessagePrinter::Visit(const IPV4MessageField *message) {
55-
Stream() << string(m_indent, ' ') <<
56-
TransformLabel(message->GetDescriptor()->Name()) << ": "
57-
<< message->Value() << endl;
55+
Stream() << string(m_indent, ' ')
56+
<< TransformLabel(message->GetDescriptor()->Name()) << ": "
57+
<< message->Value() << endl;
58+
}
59+
60+
61+
void GenericMessagePrinter::Visit(const IPV6MessageField *message) {
62+
Stream() << string(m_indent, ' ')
63+
<< TransformLabel(message->GetDescriptor()->Name()) << ": "
64+
<< message->Value() << endl;
5865
}
5966

6067

6168
void GenericMessagePrinter::Visit(const MACMessageField *message) {
62-
Stream() << string(m_indent, ' ') <<
63-
TransformLabel(message->GetDescriptor()->Name()) << ": "
64-
<< message->Value().ToString() << endl;
69+
Stream() << string(m_indent, ' ')
70+
<< TransformLabel(message->GetDescriptor()->Name()) << ": "
71+
<< message->Value().ToString() << endl;
6572
}
6673

6774

6875
void GenericMessagePrinter::Visit(const UIDMessageField *message) {
69-
Stream() << string(m_indent, ' ') <<
70-
TransformLabel(message->GetDescriptor()->Name()) << ": "
71-
<< message->Value().ToString() << endl;
76+
Stream() << string(m_indent, ' ')
77+
<< TransformLabel(message->GetDescriptor()->Name()) << ": "
78+
<< message->Value().ToString() << endl;
7279
}
7380

7481

7582
void GenericMessagePrinter::Visit(const StringMessageField *message) {
76-
Stream() << string(m_indent, ' ') <<
77-
TransformLabel(message->GetDescriptor()->Name()) << ": "
78-
<< EncodeString(message->Value()) << endl;
83+
Stream() << string(m_indent, ' ')
84+
<< TransformLabel(message->GetDescriptor()->Name()) << ": "
85+
<< EncodeString(message->Value()) << endl;
7986
}
8087

8188

@@ -134,8 +141,8 @@ void GenericMessagePrinter::Visit(const BasicMessageField<int32_t> *message) {
134141

135142

136143
void GenericMessagePrinter::Visit(const GroupMessageField *message) {
137-
Stream() << string(m_indent, ' ') <<
138-
TransformLabel(message->GetDescriptor()->Name()) << " {" << endl;
144+
Stream() << string(m_indent, ' ')
145+
<< TransformLabel(message->GetDescriptor()->Name()) << " {" << endl;
139146
m_indent += m_indent_size;
140147
}
141148

@@ -178,8 +185,9 @@ void GenericMessagePrinter::AppendInt(const string &name,
178185

179186

180187
void GenericMessagePrinter::AppendMultiplier(int8_t multiplier) {
181-
if (multiplier)
188+
if (multiplier) {
182189
Stream() << " x 10 ^ " << static_cast<int>(multiplier);
190+
}
183191
}
184192
} // namespace messaging
185193
} // namespace ola

common/messaging/MessagePrinterTest.cpp

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@
3232

3333
using std::string;
3434
using std::vector;
35-
using ola::rdm::UID;
35+
using ola::network::IPV6Address;
3636
using ola::network::MACAddress;
37+
using ola::rdm::UID;
3738

3839

3940
using ola::messaging::BoolFieldDescriptor;
@@ -42,14 +43,16 @@ using ola::messaging::FieldDescriptor;
4243
using ola::messaging::FieldDescriptorGroup;
4344
using ola::messaging::GenericMessagePrinter;
4445
using ola::messaging::GroupMessageField;
45-
using ola::messaging::Int16FieldDescriptor;
46-
using ola::messaging::Int16MessageField;
47-
using ola::messaging::Int8FieldDescriptor;
48-
using ola::messaging::Int8MessageField;
4946
using ola::messaging::IPV4FieldDescriptor;
5047
using ola::messaging::IPV4MessageField;
48+
using ola::messaging::IPV6FieldDescriptor;
49+
using ola::messaging::IPV6MessageField;
5150
using ola::messaging::MACFieldDescriptor;
5251
using ola::messaging::MACMessageField;
52+
using ola::messaging::Int16FieldDescriptor;
53+
using ola::messaging::Int16MessageField;
54+
using ola::messaging::Int8FieldDescriptor;
55+
using ola::messaging::Int8MessageField;
5356
using ola::messaging::Message;
5457
using ola::messaging::MessageFieldInterface;
5558
using ola::messaging::StringFieldDescriptor;
@@ -90,6 +93,7 @@ void GenericMessagePrinterTest::testSimplePrinter() {
9093
// setup some fields
9194
BoolFieldDescriptor bool_descriptor("On/Off");
9295
IPV4FieldDescriptor ipv4_descriptor("ip");
96+
IPV6FieldDescriptor ipv6_descriptor("ipv6");
9397
MACFieldDescriptor mac_descriptor("mac");
9498
UIDFieldDescriptor uid_descriptor("uid");
9599
StringFieldDescriptor string_descriptor("Name", 0, 32);
@@ -104,6 +108,9 @@ void GenericMessagePrinterTest::testSimplePrinter() {
104108
fields.push_back(
105109
new IPV4MessageField(&ipv4_descriptor,
106110
ola::network::HostToNetwork(0x0a000001)));
111+
fields.push_back(
112+
new IPV6MessageField(&ipv6_descriptor,
113+
IPV6Address::FromStringOrDie("::ffff:192.168.0.1")));
107114
fields.push_back(
108115
new MACMessageField(&mac_descriptor,
109116
MACAddress::FromStringOrDie("01:23:45:67:89:ab")));
@@ -116,9 +123,9 @@ void GenericMessagePrinterTest::testSimplePrinter() {
116123

117124
Message message(fields);
118125
string expected = (
119-
"On/Off: false\nip: 10.0.0.1\nmac: 01:23:45:67:89:ab\n"
120-
"uid: 7a70:00000001\nName: foobar\nId: 42\nCount: 4 x 10 ^ -3\n"
121-
"Delta: 10 x 10 ^ 1\nRate: 10 x 10 ^ -1\n");
126+
"On/Off: false\nip: 10.0.0.1\nipv6: ::ffff:192.168.0.1\n"
127+
"mac: 01:23:45:67:89:ab\nuid: 7a70:00000001\nName: foobar\nId: 42\n"
128+
"Count: 4 x 10 ^ -3\nDelta: 10 x 10 ^ 1\nRate: 10 x 10 ^ -1\n");
122129
OLA_ASSERT_EQ(expected, m_printer.AsString(&message));
123130
}
124131

common/messaging/SchemaPrinter.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ void SchemaPrinter::Visit(const IPV4FieldDescriptor *descriptor) {
4343
}
4444

4545

46+
void SchemaPrinter::Visit(const IPV6FieldDescriptor *descriptor) {
47+
m_str << string(m_indent, ' ') << descriptor->Name() << ": IPv6 address"
48+
<< endl;
49+
}
50+
51+
4652
void SchemaPrinter::Visit(const MACFieldDescriptor *descriptor) {
4753
m_str << string(m_indent, ' ') << descriptor->Name() << ": MAC" << endl;
4854
}

common/messaging/SchemaPrinterTest.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ using std::vector;
3333

3434
using ola::messaging::BoolFieldDescriptor;
3535
using ola::messaging::IPV4FieldDescriptor;
36+
using ola::messaging::IPV6FieldDescriptor;
3637
using ola::messaging::MACFieldDescriptor;
3738
using ola::messaging::Descriptor;
3839
using ola::messaging::FieldDescriptor;
@@ -85,6 +86,8 @@ void SchemaPrinterTest::testPrinter() {
8586
"Count", false, 10);
8687
IPV4FieldDescriptor *ipv4_descriptor = new IPV4FieldDescriptor(
8788
"Address");
89+
IPV6FieldDescriptor *ipv6_descriptor = new IPV6FieldDescriptor(
90+
"v6 Address");
8891
MACFieldDescriptor *mac_descriptor = new MACFieldDescriptor(
8992
"MAC Address");
9093
UIDFieldDescriptor *uid_descriptor = new UIDFieldDescriptor("Device");
@@ -95,6 +98,7 @@ void SchemaPrinterTest::testPrinter() {
9598
fields.push_back(string_descriptor);
9699
fields.push_back(uint8_descriptor);
97100
fields.push_back(ipv4_descriptor);
101+
fields.push_back(ipv6_descriptor);
98102
fields.push_back(mac_descriptor);
99103
fields.push_back(uid_descriptor);
100104

@@ -104,7 +108,8 @@ void SchemaPrinterTest::testPrinter() {
104108

105109
string expected = (
106110
"On/Off: bool\nName: string [0, 32]\nCount: uint8\n"
107-
"Address: IPv4 address\nMAC Address: MAC\nDevice: UID\n");
111+
"Address: IPv4 address\nv6 Address: IPv6 address\nMAC Address: MAC\n"
112+
"Device: UID\n");
108113
OLA_ASSERT_EQ(expected, printer.AsString());
109114
}
110115

common/rdm/DescriptorConsistencyChecker.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ void DescriptorConsistencyChecker::Visit(
4141
}
4242

4343

44+
void DescriptorConsistencyChecker::Visit(
45+
const ola::messaging::IPV6FieldDescriptor*) {
46+
}
47+
48+
4449
void DescriptorConsistencyChecker::Visit(
4550
const ola::messaging::MACFieldDescriptor*) {
4651
}

common/rdm/DescriptorConsistencyChecker.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class DescriptorConsistencyChecker
5252

5353
void Visit(const ola::messaging::BoolFieldDescriptor*);
5454
void Visit(const ola::messaging::IPV4FieldDescriptor*);
55+
void Visit(const ola::messaging::IPV6FieldDescriptor*);
5556
void Visit(const ola::messaging::MACFieldDescriptor*);
5657
void Visit(const ola::messaging::UIDFieldDescriptor*);
5758
void Visit(const ola::messaging::StringFieldDescriptor*);

common/rdm/GroupSizeCalculator.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,12 @@ void GroupSizeCalculator::Visit(
131131
}
132132

133133

134+
void GroupSizeCalculator::Visit(
135+
const ola::messaging::IPV6FieldDescriptor *descriptor) {
136+
m_non_groups.push_back(descriptor);
137+
}
138+
139+
134140
void GroupSizeCalculator::Visit(
135141
const ola::messaging::MACFieldDescriptor *descriptor) {
136142
m_non_groups.push_back(descriptor);
@@ -246,6 +252,12 @@ void StaticGroupTokenCalculator::Visit(
246252
}
247253

248254

255+
void StaticGroupTokenCalculator::Visit(
256+
OLA_UNUSED const ola::messaging::IPV6FieldDescriptor *descriptor) {
257+
m_token_count.top()++;
258+
}
259+
260+
249261
void StaticGroupTokenCalculator::Visit(
250262
OLA_UNUSED const ola::messaging::MACFieldDescriptor *descriptor) {
251263
m_token_count.top()++;

common/rdm/GroupSizeCalculator.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ class StaticGroupTokenCalculator
5353

5454
void Visit(const ola::messaging::BoolFieldDescriptor*);
5555
void Visit(const ola::messaging::IPV4FieldDescriptor*);
56+
void Visit(const ola::messaging::IPV6FieldDescriptor*);
5657
void Visit(const ola::messaging::MACFieldDescriptor*);
5758
void Visit(const ola::messaging::UIDFieldDescriptor*);
5859
void Visit(const ola::messaging::StringFieldDescriptor*);
@@ -98,6 +99,7 @@ class GroupSizeCalculator: public ola::messaging::FieldDescriptorVisitor {
9899

99100
void Visit(const ola::messaging::BoolFieldDescriptor*);
100101
void Visit(const ola::messaging::IPV4FieldDescriptor*);
102+
void Visit(const ola::messaging::IPV6FieldDescriptor*);
101103
void Visit(const ola::messaging::MACFieldDescriptor*);
102104
void Visit(const ola::messaging::UIDFieldDescriptor*);
103105
void Visit(const ola::messaging::StringFieldDescriptor*);

0 commit comments

Comments
 (0)