mirror of
https://github.com/espressif/openthread.git
synced 2026-10-04 06:47:36 +00:00
Initialize all member variables in constructors. (#1017)
This commit is contained in:
@@ -48,7 +48,13 @@ TrickleTimer::TrickleTimer(
|
||||
mTimer(aScheduler, HandleTimerFired, this),
|
||||
#ifdef ENABLE_TRICKLE_TIMER_SUPPRESSION_SUPPORT
|
||||
k(aRedundancyConstant),
|
||||
c(0),
|
||||
#endif
|
||||
Imin(0),
|
||||
Imax(0),
|
||||
mMode(kModeNormal),
|
||||
I(0),
|
||||
t(0),
|
||||
mPhase(kPhaseDormant),
|
||||
mTransmitHandler(aTransmitHandler),
|
||||
mIntervalExpiredHandler(aIntervalExpiredHandler),
|
||||
|
||||
@@ -154,6 +154,9 @@ private:
|
||||
#ifdef ENABLE_TRICKLE_TIMER_SUPPRESSION_SUPPORT
|
||||
// Redundancy constant
|
||||
const uint32_t k;
|
||||
|
||||
// A counter, keeping track of the number of "consistent" transmissions received
|
||||
uint32_t c;
|
||||
#endif
|
||||
|
||||
// Minimum interval size
|
||||
@@ -167,10 +170,7 @@ private:
|
||||
uint32_t I;
|
||||
// The time (in milliseconds) into the interval at which we should transmit
|
||||
uint32_t t;
|
||||
#ifdef ENABLE_TRICKLE_TIMER_SUPPRESSION_SUPPORT
|
||||
// A counter, keeping track of the number of "consistent" transmissions received
|
||||
uint32_t c;
|
||||
#endif
|
||||
|
||||
// The current trickle phase for the timer
|
||||
Phase mPhase;
|
||||
|
||||
|
||||
@@ -893,7 +893,9 @@ exit:
|
||||
|
||||
PendingDatasetBase::PendingDatasetBase(ThreadNetif &aThreadNetif):
|
||||
DatasetManager(aThreadNetif, Tlv::kPendingTimestamp, OPENTHREAD_URI_PENDING_SET, OPENTHREAD_URI_PENDING_GET),
|
||||
mTimer(aThreadNetif.GetIp6().mTimerScheduler, &PendingDatasetBase::HandleTimer, this)
|
||||
mTimer(aThreadNetif.GetIp6().mTimerScheduler, &PendingDatasetBase::HandleTimer, this),
|
||||
mLocalTime(0),
|
||||
mNetworkTime(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ JoinerRouter::JoinerRouter(ThreadNetif &aNetif):
|
||||
mRelayTransmit(OPENTHREAD_URI_RELAY_TX, &JoinerRouter::HandleRelayTransmit, this),
|
||||
mCoapClient(aNetif.GetCoapClient()),
|
||||
mNetif(aNetif),
|
||||
mJoinerUdpPort(0),
|
||||
mIsJoinerPortConfigured(false)
|
||||
{
|
||||
mSocket.GetSockName().mPort = OPENTHREAD_CONFIG_JOINER_UDP_PORT;
|
||||
|
||||
@@ -178,6 +178,16 @@ class NetifCallback
|
||||
friend class Netif;
|
||||
|
||||
public:
|
||||
/**
|
||||
* This constructor initializes the object.
|
||||
*
|
||||
*/
|
||||
NetifCallback(void):
|
||||
mCallback(NULL),
|
||||
mContext(NULL),
|
||||
mNext(NULL) {
|
||||
}
|
||||
|
||||
/**
|
||||
* This method sets the callback information.
|
||||
*
|
||||
|
||||
@@ -77,6 +77,8 @@ otInstance::otInstance(void) :
|
||||
mReceiveIp6DatagramCallbackContext(NULL),
|
||||
mActiveScanCallback(NULL),
|
||||
mActiveScanCallbackContext(NULL),
|
||||
mEnergyScanCallback(NULL),
|
||||
mEnergyScanCallbackContext(NULL),
|
||||
mThreadNetif(mIp6)
|
||||
#if OPENTHREAD_ENABLE_APPLICATION_COAP
|
||||
, mApplicationCoapServer(mIp6.mUdp, OT_DEFAULT_COAP_PORT)
|
||||
|
||||
@@ -54,6 +54,10 @@ using Thread::Encoding::BigEndian::HostSwap32;
|
||||
namespace Thread {
|
||||
|
||||
AnnounceBeginServer::AnnounceBeginServer(ThreadNetif &aThreadNetif) :
|
||||
mChannelMask(0),
|
||||
mPeriod(0),
|
||||
mCount(0),
|
||||
mChannel(0),
|
||||
mTimer(aThreadNetif.GetIp6().mTimerScheduler, &AnnounceBeginServer::HandleTimer, this),
|
||||
mAnnounceBegin(OPENTHREAD_URI_ANNOUNCE_BEGIN, &AnnounceBeginServer::HandleRequest, this),
|
||||
mCoapServer(aThreadNetif.GetCoapServer()),
|
||||
|
||||
@@ -46,7 +46,13 @@
|
||||
namespace Thread {
|
||||
|
||||
EnergyScanServer::EnergyScanServer(ThreadNetif &aThreadNetif) :
|
||||
mChannelMask(0),
|
||||
mChannelMaskCurrent(0),
|
||||
mPeriod(0),
|
||||
mScanDuration(0),
|
||||
mCount(0),
|
||||
mActive(false),
|
||||
mScanResultsLength(0),
|
||||
mTimer(aThreadNetif.GetIp6().mTimerScheduler, &EnergyScanServer::HandleTimer, this),
|
||||
mEnergyScan(OPENTHREAD_URI_ENERGY_SCAN, &EnergyScanServer::HandleRequest, this),
|
||||
mCoapServer(aThreadNetif.GetCoapServer()),
|
||||
|
||||
@@ -47,20 +47,19 @@ static const uint8_t kThreadString[] =
|
||||
|
||||
KeyManager::KeyManager(ThreadNetif &aThreadNetif):
|
||||
mNetif(aThreadNetif),
|
||||
mKeyRotationTimer(aThreadNetif.GetIp6().mTimerScheduler, &KeyManager::HandleKeyRotationTimer, this)
|
||||
mMasterKeyLength(0),
|
||||
mKeySequence(0),
|
||||
mMacFrameCounter(0),
|
||||
mMleFrameCounter(0),
|
||||
mStoredMacFrameCounter(0),
|
||||
mStoredMleFrameCounter(0),
|
||||
mKeyRotationTime(kDefaultKeyRotationTime),
|
||||
mKeySwitchGuardTime(kDefaultKeySwitchGuardTime),
|
||||
mKeySwitchGuardEnabled(false),
|
||||
mKeyRotationTimer(aThreadNetif.GetIp6().mTimerScheduler, &KeyManager::HandleKeyRotationTimer, this),
|
||||
mKekFrameCounter(0),
|
||||
mSecurityPolicyFlags(0xff)
|
||||
{
|
||||
mMasterKeyLength = 0;
|
||||
mKeySequence = 0;
|
||||
mMacFrameCounter = 0;
|
||||
mMleFrameCounter = 0;
|
||||
mStoredMleFrameCounter = 0;
|
||||
mStoredMacFrameCounter = 0;
|
||||
|
||||
mKeyRotationTime = kDefaultKeyRotationTime;
|
||||
mKeySwitchGuardTime = kDefaultKeySwitchGuardTime;
|
||||
mKeySwitchGuardEnabled = false;
|
||||
|
||||
mSecurityPolicyFlags = 0xff;
|
||||
}
|
||||
|
||||
void KeyManager::Start(void)
|
||||
|
||||
@@ -59,30 +59,33 @@ MeshForwarder::MeshForwarder(ThreadNetif &aThreadNetif):
|
||||
mDiscoverTimer(aThreadNetif.GetIp6().mTimerScheduler, &MeshForwarder::HandleDiscoverTimer, this),
|
||||
mPollTimer(aThreadNetif.GetIp6().mTimerScheduler, &MeshForwarder::HandlePollTimer, this),
|
||||
mReassemblyTimer(aThreadNetif.GetIp6().mTimerScheduler, &MeshForwarder::HandleReassemblyTimer, this),
|
||||
mMessageNextOffset(0),
|
||||
mPollPeriod(0),
|
||||
mAssignPollPeriod(0),
|
||||
mSendMessage(NULL),
|
||||
mMeshSource(Mac::kShortAddrInvalid),
|
||||
mMeshDest(Mac::kShortAddrInvalid),
|
||||
mAddMeshHeader(false),
|
||||
mSendBusy(false),
|
||||
mScheduleTransmissionTask(aThreadNetif.GetIp6().mTaskletScheduler, ScheduleTransmissionTask, this),
|
||||
mEnabled(false),
|
||||
mScanChannels(0),
|
||||
mScanDuration(0),
|
||||
mScanChannel(0),
|
||||
mRestoreChannel(0),
|
||||
mScanning(false),
|
||||
mNetif(aThreadNetif),
|
||||
mAddressResolver(aThreadNetif.GetAddressResolver()),
|
||||
mLowpan(aThreadNetif.GetLowpan()),
|
||||
mMac(aThreadNetif.GetMac()),
|
||||
mMle(aThreadNetif.GetMle()),
|
||||
mNetworkData(aThreadNetif.GetNetworkDataLeader())
|
||||
mNetworkData(aThreadNetif.GetNetworkDataLeader()),
|
||||
mSrcMatchEnabled(false)
|
||||
{
|
||||
mFragTag = static_cast<uint16_t>(otPlatRandomGet());
|
||||
mPollPeriod = 0;
|
||||
mAssignPollPeriod = 0;
|
||||
mSendMessage = NULL;
|
||||
mSendBusy = false;
|
||||
mEnabled = false;
|
||||
|
||||
mMessageNextOffset = 0;
|
||||
mMac.RegisterReceiver(mMacReceiver);
|
||||
mMacSource.mLength = 0;
|
||||
mMacDest.mLength = 0;
|
||||
mMeshSource = Mac::kShortAddrInvalid;
|
||||
mMeshDest = Mac::kShortAddrInvalid;
|
||||
mAddMeshHeader = false;
|
||||
mSrcMatchEnabled = false;
|
||||
|
||||
mMac.RegisterReceiver(mMacReceiver);
|
||||
}
|
||||
|
||||
ThreadError MeshForwarder::Start()
|
||||
|
||||
+31
-30
@@ -66,25 +66,38 @@ Mle::Mle(ThreadNetif &aThreadNetif) :
|
||||
mMleRouter(aThreadNetif.GetMle()),
|
||||
mNetworkData(aThreadNetif.GetNetworkDataLeader()),
|
||||
mJoinerRouter(aThreadNetif.GetJoinerRouter()),
|
||||
mParentRequestTimer(aThreadNetif.GetIp6().mTimerScheduler, &Mle::HandleParentRequestTimer, this),
|
||||
mSocket(aThreadNetif.GetIp6().mUdp),
|
||||
mSendChildUpdateRequest(aThreadNetif.GetIp6().mTaskletScheduler, &Mle::HandleSendChildUpdateRequest, this)
|
||||
{
|
||||
mDeviceState = kDeviceStateDisabled;
|
||||
mDeviceMode = ModeTlv::kModeRxOnWhenIdle | ModeTlv::kModeSecureDataRequest | ModeTlv::kModeFFD |
|
||||
ModeTlv::kModeFullNetworkData;
|
||||
mParentRequestState = kParentIdle;
|
||||
mParentRequestMode = kMleAttachAnyPartition;
|
||||
mParentLinkQuality = 0;
|
||||
mParentPriority = 0;
|
||||
mParentLinkQuality3 = 0;
|
||||
mParentLinkQuality2 = 0;
|
||||
mParentLinkQuality1 = 0;
|
||||
mRetrieveNewNetworkData = false;
|
||||
mTimeout = kMleEndDeviceTimeout;
|
||||
mReattachState = kReattachStop;
|
||||
mRetrieveNewNetworkData(false),
|
||||
mDeviceState(kDeviceStateDisabled),
|
||||
mDeviceMode(ModeTlv::kModeRxOnWhenIdle | ModeTlv::kModeSecureDataRequest | ModeTlv::kModeFFD |
|
||||
ModeTlv::kModeFullNetworkData),
|
||||
isAssignLinkQuality(false),
|
||||
mAssignLinkQuality(0),
|
||||
mAssignLinkMargin(0),
|
||||
|
||||
mParentRequestState(kParentIdle),
|
||||
mReattachState(kReattachStop),
|
||||
mParentRequestTimer(aThreadNetif.GetIp6().mTimerScheduler, &Mle::HandleParentRequestTimer, this),
|
||||
mRouterSelectionJitter(kRouterSelectionJitter),
|
||||
mRouterSelectionJitterTimeout(0),
|
||||
mParentRequestMode(kMleAttachAnyPartition),
|
||||
mParentLinkQuality(0),
|
||||
mParentPriority(0),
|
||||
mParentLinkQuality3(0),
|
||||
mParentLinkQuality2(0),
|
||||
mParentLinkQuality1(0),
|
||||
mParentIsSingleton(false),
|
||||
mSocket(aThreadNetif.GetIp6().mUdp),
|
||||
mTimeout(kMleEndDeviceTimeout),
|
||||
mSendChildUpdateRequest(aThreadNetif.GetIp6().mTaskletScheduler, &Mle::HandleSendChildUpdateRequest, this),
|
||||
mDiscoverHandler(NULL),
|
||||
mDiscoverContext(NULL),
|
||||
mIsDiscoverInProgress(false),
|
||||
mAnnounceChannel(kPhyMinChannel),
|
||||
mPreviousChannel(0),
|
||||
mPreviousPanId(Mac::kPanIdBroadcast)
|
||||
{
|
||||
memset(&mLeaderData, 0, sizeof(mLeaderData));
|
||||
memset(&mParentLeaderData, 0, sizeof(mParentLeaderData));
|
||||
memset(&mParent, 0, sizeof(mParent));
|
||||
memset(&mChildIdRequest, 0, sizeof(mChildIdRequest));
|
||||
memset(&mLinkLocal64, 0, sizeof(mLinkLocal64));
|
||||
@@ -92,9 +105,9 @@ Mle::Mle(ThreadNetif &aThreadNetif) :
|
||||
memset(&mMeshLocal16, 0, sizeof(mMeshLocal16));
|
||||
memset(&mLinkLocalAllThreadNodes, 0, sizeof(mLinkLocalAllThreadNodes));
|
||||
memset(&mRealmLocalAllThreadNodes, 0, sizeof(mRealmLocalAllThreadNodes));
|
||||
memset(&mLeaderAloc, 0, sizeof(mLeaderAloc));
|
||||
|
||||
// link-local 64
|
||||
memset(&mLinkLocal64, 0, sizeof(mLinkLocal64));
|
||||
mLinkLocal64.GetAddress().mFields.m16[0] = HostSwap16(0xfe80);
|
||||
mLinkLocal64.GetAddress().SetIid(*mMac.GetExtAddress());
|
||||
mLinkLocal64.mPrefixLength = 64;
|
||||
@@ -103,7 +116,6 @@ Mle::Mle(ThreadNetif &aThreadNetif) :
|
||||
mNetif.AddUnicastAddress(mLinkLocal64);
|
||||
|
||||
// Leader Aloc
|
||||
memset(&mLeaderAloc, 0, sizeof(mLeaderAloc));
|
||||
mLeaderAloc.mPrefixLength = 128;
|
||||
mLeaderAloc.mPreferredLifetime = 0xffffffff;
|
||||
mLeaderAloc.mValidLifetime = 0xffffffff;
|
||||
@@ -157,18 +169,7 @@ Mle::Mle(ThreadNetif &aThreadNetif) :
|
||||
mNetifCallback.Set(&Mle::HandleNetifStateChanged, this);
|
||||
mNetif.RegisterCallback(mNetifCallback);
|
||||
|
||||
isAssignLinkQuality = false;
|
||||
mAssignLinkQuality = 0;
|
||||
mAssignLinkMargin = 0;
|
||||
memset(&mAddr64, 0, sizeof(mAddr64));
|
||||
|
||||
mIsDiscoverInProgress = false;
|
||||
|
||||
mRouterSelectionJitterTimeout = 0;
|
||||
mRouterSelectionJitter = kRouterSelectionJitter;
|
||||
|
||||
mAnnounceChannel = kPhyMinChannel;
|
||||
mPreviousPanId = Mac::kPanIdBroadcast;
|
||||
}
|
||||
|
||||
ThreadError Mle::Enable(void)
|
||||
|
||||
@@ -46,6 +46,8 @@
|
||||
namespace Thread {
|
||||
|
||||
PanIdQueryServer::PanIdQueryServer(ThreadNetif &aThreadNetif) :
|
||||
mChannelMask(0),
|
||||
mPanId(Mac::kPanIdBroadcast),
|
||||
mTimer(aThreadNetif.GetIp6().mTimerScheduler, &PanIdQueryServer::HandleTimer, this),
|
||||
mPanIdQuery(OPENTHREAD_URI_PANID_QUERY, &PanIdQueryServer::HandleQuery, this),
|
||||
mCoapServer(aThreadNetif.GetCoapServer()),
|
||||
|
||||
Reference in New Issue
Block a user