mirror of
https://github.com/espressif/openthread.git
synced 2026-09-04 00:00:06 +00:00
[message] introduce MessageAllocator to unify allocation (#12702)
This commit introduces the `MessageAllocator` template class using the CRTP pattern to provide a unified implementation of the `NewMessage()` methods. It standardizes the reserved header sizes for different message types within `ReservedHeaderSize`. This removes boilerplate code and redundant `NewMessage()` method implementations across the `Ip6`, `Icmp`, `Udp`, `Udp::Socket`, and `CoapBase` classes.
This commit is contained in:
@@ -184,7 +184,7 @@ void TestUdpMessageChecksum(void)
|
||||
|
||||
for (uint16_t size = kMinSize; size <= kMaxSize; size++)
|
||||
{
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage(sizeof(Ip6::Udp::Header));
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage();
|
||||
Ip6::Udp::Header udpHeader;
|
||||
Ip6::MessageInfo messageInfo;
|
||||
|
||||
@@ -252,7 +252,7 @@ void TestIcmp6MessageChecksum(void)
|
||||
|
||||
for (uint16_t size = kMinSize; size <= kMaxSize; size++)
|
||||
{
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage(sizeof(Ip6::Icmp::Header));
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage();
|
||||
Ip6::Icmp::Header icmp6Header;
|
||||
Ip6::MessageInfo messageInfo;
|
||||
|
||||
@@ -327,7 +327,7 @@ void TestTcp4MessageChecksum(void)
|
||||
|
||||
for (uint16_t size = kMinSize; size <= kMaxSize; size++)
|
||||
{
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage(sizeof(Ip4::Tcp::Header));
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage();
|
||||
Ip4::Tcp::Header tcpHeader;
|
||||
|
||||
VerifyOrQuit(message != nullptr, "Ip6::NewMesssage() failed");
|
||||
@@ -382,7 +382,7 @@ void TestUdp4MessageChecksum(void)
|
||||
|
||||
for (uint16_t size = kMinSize; size <= kMaxSize; size++)
|
||||
{
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage(sizeof(Ip4::Udp::Header));
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage();
|
||||
Ip4::Udp::Header udpHeader;
|
||||
|
||||
VerifyOrQuit(message != nullptr, "Ip6::NewMesssage() failed");
|
||||
@@ -427,7 +427,7 @@ void TestIcmp4MessageChecksum(void)
|
||||
"\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37";
|
||||
uint16_t kChecksumForExampleMessage = 0x5594;
|
||||
Instance *instance = static_cast<Instance *>(testInitInstance());
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage(sizeof(kExampleIcmpMessage));
|
||||
Message *message = instance->Get<Ip6::Ip6>().NewMessage();
|
||||
|
||||
Ip4::Address source;
|
||||
Ip4::Address dest;
|
||||
|
||||
@@ -117,7 +117,7 @@ void Verify6To4(const char *aTestName,
|
||||
uint16_t aIp4Length,
|
||||
Error aError)
|
||||
{
|
||||
Message *message = sInstance->Get<Ip6::Ip6>().NewMessage(0);
|
||||
Message *message = sInstance->Get<Ip6::Ip6>().NewMessage();
|
||||
Error error;
|
||||
|
||||
Log("- - - - - - - - - - - - - - - - - - - - - - - - - ");
|
||||
@@ -161,7 +161,7 @@ void Verify4To6(const char *aTestName,
|
||||
uint16_t aIp6Length,
|
||||
Error aError)
|
||||
{
|
||||
Message *message = sInstance->Get<Ip6::Ip6>().NewMessage(0);
|
||||
Message *message = sInstance->Get<Ip6::Ip6>().NewMessage();
|
||||
Error error;
|
||||
|
||||
Log("- - - - - - - - - - - - - - - - - - - - - - - - - ");
|
||||
|
||||
Reference in New Issue
Block a user