Initialize all member variables in constructors. (#1017)

This commit is contained in:
Jonathan Hui
2016-11-28 18:08:21 -08:00
committed by GitHub
parent bd531379a7
commit 9db4aeebc9
12 changed files with 98 additions and 62 deletions
+6
View File
@@ -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),
+4 -4
View File
@@ -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;
+3 -1
View File
@@ -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)
{
}
+1
View File
@@ -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;
+10
View File
@@ -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.
*
+2
View File
@@ -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()),
+6
View File
@@ -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()),
+12 -13
View File
@@ -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)
+17 -14
View File
@@ -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
View File
@@ -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)
+2
View File
@@ -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()),