From 51d487ed576a96ed15d4b825b88f3d4700af0b1a Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Wed, 18 Apr 2018 14:06:18 -0700 Subject: [PATCH] [channel-manager] allow channel manager feature without channel-monitor (#2670) This commit fixes an issue to allow "channel manager" feature to be enabled without requiring the channel-monitor feature. --- src/core/utils/channel_manager.cpp | 20 ++++++++++---------- src/core/utils/channel_manager.hpp | 7 +++++-- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/core/utils/channel_manager.cpp b/src/core/utils/channel_manager.cpp index f244d0b37..c6c0365dc 100644 --- a/src/core/utils/channel_manager.cpp +++ b/src/core/utils/channel_manager.cpp @@ -369,16 +369,6 @@ exit: return error; } -#else // OPENTHREAD_ENABLE_CHANNEL_MONITOR - -otError ChannelManager::FindBetterChannel(uint8_t &, uint16_t &) -{ - otLogInfoUtil(GetInstance(), "ChannelManager: ChannelMonitor feature is disabled - cannot select channel"); - return OT_ERROR_DISABLED_FEATURE; -} - -#endif // OPENTHREAD_ENABLE_CHANNEL_MONITOR - bool ChannelManager::ShouldAttamptChannelChange(void) { uint16_t ccaFailureRate = GetInstance().Get().GetCcaFailureRate(); @@ -440,6 +430,16 @@ exit: return error; } +#else // OPENTHREAD_ENABLE_CHANNEL_MONITOR + +otError ChannelManager::RequestChannelSelect(bool) +{ + otLogInfoUtil(GetInstance(), "ChannelManager: ChannelMonitor feature is disabled - cannot select channel"); + return OT_ERROR_DISABLED_FEATURE; +} + +#endif // OPENTHREAD_ENABLE_CHANNEL_MONITOR + void ChannelManager::StartAutoSelectTimer(void) { VerifyOrExit(mState == kStateIdle); diff --git a/src/core/utils/channel_manager.hpp b/src/core/utils/channel_manager.hpp index bfe939057..bb9b1b3d7 100644 --- a/src/core/utils/channel_manager.hpp +++ b/src/core/utils/channel_manager.hpp @@ -276,10 +276,13 @@ private: static void HandleStateChanged(Notifier::Callback &aCallback, uint32_t aChangedFlags); void HandleStateChanged(uint32_t aChangedFlags); void PreparePendingDataset(void); - otError FindBetterChannel(uint8_t &aNewChannel, uint16_t &aOccupancy); - bool ShouldAttamptChannelChange(void); void StartAutoSelectTimer(void); +#if OPENTHREAD_ENABLE_CHANNEL_MONITOR + otError FindBetterChannel(uint8_t &aNewChannel, uint16_t &aOccupancy); + bool ShouldAttamptChannelChange(void); +#endif + Mac::ChannelMask mSupportedChannelMask; Mac::ChannelMask mFavoredChannelMask; uint64_t mActiveTimestamp;