mirror of
https://github.com/espressif/openthread.git
synced 2026-07-31 08:07:47 +00:00
[meshcop] use NewPriorityMessage() for message allocation (#7274)
This commit removes the function `MeshCoP::NewMeshCoPMessage()` and uses `NewPriorityMessage()` method directly on `Coap::CoapSecure` or `Tmf::Agent`. This helps harmonize the message allocation model by MeshCoP modules.
This commit is contained in:
@@ -64,7 +64,7 @@ Error AnnounceBeginClient::SendRequest(uint32_t aChannelMask,
|
||||
Coap::Message * message = nullptr;
|
||||
|
||||
VerifyOrExit(Get<MeshCoP::Commissioner>().IsActive(), error = kErrorInvalidState);
|
||||
VerifyOrExit((message = MeshCoP::NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsPost(aAddress, UriPath::kAnnounceBegin));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
|
||||
@@ -115,7 +115,7 @@ void BorderAgent::SendErrorMessage(ForwardContext &aForwardContext, Error aError
|
||||
Coap::CoapSecure &coaps = Get<Coap::CoapSecure>();
|
||||
Coap::Message * message = nullptr;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(coaps)) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = coaps.NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
SuccessOrExit(error = aForwardContext.ToHeader(*message, CoapCodeFromError(aError)));
|
||||
SuccessOrExit(error = coaps.SendMessage(*message, coaps.GetMessageInfo()));
|
||||
|
||||
@@ -130,7 +130,7 @@ void BorderAgent::SendErrorMessage(const Coap::Message &aRequest, bool aSeparate
|
||||
Coap::CoapSecure &coaps = Get<Coap::CoapSecure>();
|
||||
Coap::Message * message = nullptr;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(coaps)) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = coaps.NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
if (aRequest.IsNonConfirmable() || aSeparate)
|
||||
{
|
||||
@@ -173,7 +173,7 @@ void BorderAgent::HandleCoapResponse(ForwardContext &aForwardContext, const Coap
|
||||
Error error;
|
||||
|
||||
SuccessOrExit(error = aResult);
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Coap::CoapSecure>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Coap::CoapSecure>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
if (aForwardContext.IsPetition() && aResponse->GetCode() == Coap::kCodeChanged)
|
||||
{
|
||||
@@ -360,7 +360,7 @@ bool BorderAgent::HandleUdpReceive(const Message &aMessage, const Ip6::MessageIn
|
||||
|
||||
VerifyOrExit(aMessage.GetLength() > 0, error = kErrorNone);
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Coap::CoapSecure>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Coap::CoapSecure>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
message->InitAsNonConfirmablePost();
|
||||
SuccessOrExit(error = message->AppendUriPathOptions(UriPath::kProxyRx));
|
||||
@@ -401,7 +401,7 @@ void BorderAgent::HandleRelayReceive(const Coap::Message &aMessage)
|
||||
Error error;
|
||||
|
||||
VerifyOrExit(aMessage.IsNonConfirmablePostRequest(), error = kErrorDrop);
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Coap::CoapSecure>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Coap::CoapSecure>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
message->InitAsNonConfirmablePost();
|
||||
SuccessOrExit(error = message->AppendUriPathOptions(UriPath::kRelayRx));
|
||||
@@ -461,7 +461,7 @@ void BorderAgent::HandleRelayTransmit(const Coap::Message &aMessage)
|
||||
|
||||
SuccessOrExit(error = Tlv::Find<JoinerRouterLocatorTlv>(aMessage, joinerRouterRloc));
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsNonConfirmablePost(UriPath::kRelayTx));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -497,7 +497,7 @@ Error BorderAgent::ForwardToLeader(const Coap::Message & aMessage,
|
||||
Coap::Message * message = nullptr;
|
||||
uint16_t offset = 0;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
if (aSeparate)
|
||||
{
|
||||
|
||||
@@ -693,7 +693,7 @@ Error Commissioner::SendMgmtCommissionerGetRequest(const uint8_t *aTlvs, uint8_t
|
||||
Ip6::MessageInfo messageInfo;
|
||||
MeshCoP::Tlv tlv;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsConfirmablePost(UriPath::kCommissionerGet));
|
||||
|
||||
@@ -753,7 +753,7 @@ Error Commissioner::SendMgmtCommissionerSetRequest(const otCommissioningDataset
|
||||
Coap::Message * message;
|
||||
Ip6::MessageInfo messageInfo;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsConfirmablePost(UriPath::kCommissionerSet));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -828,7 +828,7 @@ Error Commissioner::SendPetition(void)
|
||||
|
||||
mTransmitAttempts++;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsConfirmablePost(UriPath::kLeaderPetition));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -923,7 +923,7 @@ void Commissioner::SendKeepAlive(uint16_t aSessionId)
|
||||
Coap::Message * message = nullptr;
|
||||
Ip6::MessageInfo messageInfo;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsConfirmablePost(UriPath::kLeaderKeepAlive));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -1110,7 +1110,7 @@ void Commissioner::SendJoinFinalizeResponse(const Coap::Message &aRequest, State
|
||||
Ip6::MessageInfo joinerMessageInfo;
|
||||
Coap::Message * message;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Coap::CoapSecure>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Coap::CoapSecure>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -1163,7 +1163,7 @@ Error Commissioner::SendRelayTransmit(Message &aMessage, const Ip6::MessageInfo
|
||||
Ip6::MessageInfo messageInfo;
|
||||
Kek kek;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
Get<KeyManager>().ExtractKek(kek);
|
||||
|
||||
|
||||
@@ -276,7 +276,7 @@ void DatasetManager::SendSet(void)
|
||||
}
|
||||
}
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error =
|
||||
message->InitAsConfirmablePost(IsActiveDataset() ? UriPath::kActiveSet : UriPath::kPendingSet));
|
||||
@@ -419,7 +419,7 @@ void DatasetManager::SendGetResponse(const Coap::Message & aRequest,
|
||||
|
||||
IgnoreError(Read(dataset));
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -485,7 +485,7 @@ Error DatasetManager::SendSetRequest(const Dataset::Info & aDatasetInfo,
|
||||
|
||||
VerifyOrExit(!mMgmtPending, error = kErrorBusy);
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error =
|
||||
message->InitAsConfirmablePost(IsActiveDataset() ? UriPath::kActiveSet : UriPath::kPendingSet));
|
||||
@@ -614,7 +614,7 @@ Error DatasetManager::SendGetRequest(const Dataset::Components &aDatasetComponen
|
||||
datasetTlvs[length++] = Tlv::kChannelMask;
|
||||
}
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error =
|
||||
message->InitAsConfirmablePost(IsActiveDataset() ? UriPath::kActiveGet : UriPath::kPendingGet));
|
||||
|
||||
@@ -268,7 +268,7 @@ void DatasetManager::SendSetResponse(const Coap::Message & aRequest,
|
||||
Error error = kErrorNone;
|
||||
Coap::Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
|
||||
@@ -73,7 +73,7 @@ Error EnergyScanClient::SendQuery(uint32_t aChannelMas
|
||||
Coap::Message * message = nullptr;
|
||||
|
||||
VerifyOrExit(Get<MeshCoP::Commissioner>().IsActive(), error = kErrorInvalidState);
|
||||
VerifyOrExit((message = MeshCoP::NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsPost(aAddress, UriPath::kEnergyScan));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
|
||||
@@ -439,7 +439,7 @@ Error Joiner::PrepareJoinerFinalizeMessage(const char *aProvisioningUrl,
|
||||
VendorStackVersionTlv vendorStackVersionTlv;
|
||||
ProvisioningUrlTlv provisioningUrlTlv;
|
||||
|
||||
VerifyOrExit((mFinalizeMessage = NewMeshCoPMessage(Get<Coap::CoapSecure>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((mFinalizeMessage = Get<Coap::CoapSecure>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
mFinalizeMessage->InitAsConfirmablePost();
|
||||
SuccessOrExit(error = mFinalizeMessage->AppendUriPathOptions(UriPath::kJoinerFinalize));
|
||||
@@ -597,7 +597,7 @@ void Joiner::SendJoinerEntrustResponse(const Coap::Message &aRequest, const Ip6:
|
||||
Coap::Message * message;
|
||||
Ip6::MessageInfo responseInfo(aRequestInfo);
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
message->SetSubType(Message::kSubTypeJoinerEntrust);
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ void JoinerRouter::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &a
|
||||
|
||||
SuccessOrExit(error = GetBorderAgentRloc(Get<ThreadNetif>(), borderAgentRloc));
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsNonConfirmablePost(UriPath::kRelayRx));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -316,7 +316,7 @@ Coap::Message *JoinerRouter::PrepareJoinerEntrustMessage(void)
|
||||
const Tlv * tlv;
|
||||
NetworkKey networkKey;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
message->InitAsConfirmablePost();
|
||||
SuccessOrExit(error = message->AppendUriPathOptions(UriPath::kJoinerEntrust));
|
||||
|
||||
@@ -405,15 +405,6 @@ private:
|
||||
void UpdateBloomFilter(const HashBitIndexes &aIndexes);
|
||||
};
|
||||
|
||||
/**
|
||||
* This function creates Message for MeshCoP.
|
||||
*
|
||||
*/
|
||||
inline Coap::Message *NewMeshCoPMessage(Coap::CoapBase &aCoap)
|
||||
{
|
||||
return aCoap.NewMessage(Message::Settings(Message::kWithLinkSecurity, Message::kPriorityNet));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function generates PSKc.
|
||||
*
|
||||
|
||||
@@ -126,7 +126,7 @@ void Leader::SendPetitionResponse(const Coap::Message & aRequest,
|
||||
Error error = kErrorNone;
|
||||
Coap::Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -209,7 +209,7 @@ void Leader::SendKeepAliveResponse(const Coap::Message & aRequest,
|
||||
Error error = kErrorNone;
|
||||
Coap::Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -231,7 +231,7 @@ void Leader::SendDatasetChanged(const Ip6::Address &aAddress)
|
||||
Ip6::MessageInfo messageInfo;
|
||||
Coap::Message * message;
|
||||
|
||||
VerifyOrExit((message = NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsConfirmablePost(UriPath::kDatasetChanged));
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ Error PanIdQueryClient::SendQuery(uint16_t aPanId,
|
||||
Coap::Message * message = nullptr;
|
||||
|
||||
VerifyOrExit(Get<MeshCoP::Commissioner>().IsActive(), error = kErrorInvalidState);
|
||||
VerifyOrExit((message = MeshCoP::NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsPost(aAddress, UriPath::kPanIdQuery));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
|
||||
@@ -175,7 +175,7 @@ void EnergyScanServer::SendReport(void)
|
||||
Ip6::MessageInfo messageInfo;
|
||||
Coap::Message * message;
|
||||
|
||||
VerifyOrExit((message = MeshCoP::NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsConfirmablePost(UriPath::kEnergyReport));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
|
||||
@@ -305,7 +305,7 @@ void Leader::SendCommissioningGetResponse(const Coap::Message & aRequest,
|
||||
uint8_t * data = nullptr;
|
||||
uint8_t length = 0;
|
||||
|
||||
VerifyOrExit((message = MeshCoP::NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
@@ -359,7 +359,7 @@ void Leader::SendCommissioningSetResponse(const Coap::Message & aRequest,
|
||||
Error error = kErrorNone;
|
||||
Coap::Message *message;
|
||||
|
||||
VerifyOrExit((message = MeshCoP::NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
|
||||
@@ -115,7 +115,7 @@ void PanIdQueryServer::SendConflict(void)
|
||||
Ip6::MessageInfo messageInfo;
|
||||
Coap::Message * message;
|
||||
|
||||
VerifyOrExit((message = MeshCoP::NewMeshCoPMessage(Get<Tmf::Agent>())) != nullptr, error = kErrorNoBufs);
|
||||
VerifyOrExit((message = Get<Tmf::Agent>().NewPriorityMessage()) != nullptr, error = kErrorNoBufs);
|
||||
|
||||
SuccessOrExit(error = message->InitAsConfirmablePost(UriPath::kPanIdConflict));
|
||||
SuccessOrExit(error = message->SetPayloadMarker());
|
||||
|
||||
Reference in New Issue
Block a user