[meshcop] introduce new public APIs for SteeringData (#12148)

This commit introduces a set of public APIs to allow manipulation
of `otSteeringData`. The new APIs are provided when the configuration
`OPENTHREAD_CONFIG_MESHCOP_STEERING_DATA_API_ENABLE` is enabled.

The internal `SteeringData` is also improved to enhance robustness.
Methods such as `Init()`, `UpdateBloomFilter()` now return an `Error`
to signal failures on invalid arguments (e.g., invalid length)
instead of asserting.
This commit is contained in:
Abtin Keshavarzian
2025-12-02 12:43:14 -08:00
committed by GitHub
parent bc70f705dc
commit 8274fb4ec1
21 changed files with 404 additions and 61 deletions
+2 -2
View File
@@ -2696,9 +2696,9 @@ void Mle::SetSteeringData(const Mac::ExtAddress *aExtAddress)
{
Mac::ExtAddress joinerId;
mSteeringData.Init();
IgnoreError(mSteeringData.Init(MeshCoP::SteeringData::kMaxLength));
MeshCoP::ComputeJoinerId(*aExtAddress, joinerId);
mSteeringData.UpdateBloomFilter(joinerId);
IgnoreError(mSteeringData.UpdateBloomFilter(joinerId));
}
}
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE