From 85db896df9ed09d7f0a9ecfa100f19c7d1fb672a Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Wed, 19 Oct 2016 09:41:00 +0800 Subject: [PATCH] Use Leader ALOC if it is commissioner (#836) * Use Leader ALOC if it is commissioner --- src/core/meshcop/commissioner.cpp | 5 +++++ src/core/meshcop/commissioner.hpp | 25 ++++++++++++++++----- src/core/thread/meshcop_dataset_manager.cpp | 6 ++--- src/core/thread/network_data.cpp | 2 +- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index 95dd44295..136d18fd2 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -254,6 +254,11 @@ uint16_t Commissioner::GetSessionId(void) const return mSessionId; } +uint8_t Commissioner::GetState(void) const +{ + return mState; +} + void Commissioner::HandleTimer(void *aContext) { static_cast(aContext)->HandleTimer(); diff --git a/src/core/meshcop/commissioner.hpp b/src/core/meshcop/commissioner.hpp index 0de4f4ab4..a8fa4009e 100644 --- a/src/core/meshcop/commissioner.hpp +++ b/src/core/meshcop/commissioner.hpp @@ -127,6 +127,25 @@ public: */ uint16_t GetSessionId(void) const; + /** + * Commissioner State. + * + */ + enum + { + kStateDisabled = 0, + kStatePetition = 1, + kStateActive = 2, + }; + + /** + * This method returns the Commissioner State. + * + * @returns The Commissioner State. + * + */ + uint8_t GetState(void) const; + /** * This method sends MGMT_COMMISSIONER_GET. * @@ -197,12 +216,6 @@ private: ThreadError SendPetition(void); ThreadError SendKeepAlive(void); - enum - { - kStateDisabled = 0, - kStatePetition = 1, - kStateActive = 2, - }; uint8_t mState; struct Joiner diff --git a/src/core/thread/meshcop_dataset_manager.cpp b/src/core/thread/meshcop_dataset_manager.cpp index eda19e0ff..7f5643660 100644 --- a/src/core/thread/meshcop_dataset_manager.cpp +++ b/src/core/thread/meshcop_dataset_manager.cpp @@ -194,7 +194,7 @@ ThreadError DatasetManager::Register(void) SuccessOrExit(error = message->Append(header.GetBytes(), header.GetLength())); SuccessOrExit(error = message->Append(mLocal.GetBytes(), mLocal.GetSize())); - mMle.GetLeaderAddress(leader); + mMle.GetLeaderAloc(leader); memset(&messageInfo, 0, sizeof(messageInfo)); memcpy(&messageInfo.mPeerAddr, &leader, sizeof(messageInfo.mPeerAddr)); @@ -552,7 +552,7 @@ ThreadError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, } memset(&messageInfo, 0, sizeof(messageInfo)); - mMle.GetLeaderAddress(messageInfo.GetPeerAddr()); + mMle.GetLeaderAloc(messageInfo.GetPeerAddr()); messageInfo.mPeerPort = kCoapUdpPort; SuccessOrExit(error = mSocket.SendTo(*message, messageInfo)); @@ -603,7 +603,7 @@ ThreadError DatasetManager::SendGetRequest(const uint8_t *aTlvTypes, const uint8 } memset(&messageInfo, 0, sizeof(messageInfo)); - mMle.GetLeaderAddress(messageInfo.GetPeerAddr()); + mMle.GetLeaderAloc(messageInfo.GetPeerAddr()); messageInfo.mPeerPort = kCoapUdpPort; SuccessOrExit(error = mSocket.SendTo(*message, messageInfo)); diff --git a/src/core/thread/network_data.cpp b/src/core/thread/network_data.cpp index 7d112ee30..bd0959e76 100644 --- a/src/core/thread/network_data.cpp +++ b/src/core/thread/network_data.cpp @@ -636,7 +636,7 @@ ThreadError NetworkData::SendServerDataNotification(uint16_t aRloc16) } memset(&messageInfo, 0, sizeof(messageInfo)); - mMle.GetLeaderAddress(messageInfo.GetPeerAddr()); + mMle.GetLeaderAloc(messageInfo.GetPeerAddr()); messageInfo.mPeerPort = kCoapUdpPort; SuccessOrExit(error = mSocket.SendTo(*message, messageInfo));