| 113 | ////////////////////////////////////////////////////////////////////////////// |
| 114 | |
| 115 | Learner :: Learner( |
| 116 | const Config * poConfig, |
| 117 | const MsgTransport * poMsgTransport, |
| 118 | const Instance * poInstance, |
| 119 | const Acceptor * poAcceptor, |
| 120 | const LogStorage * poLogStorage, |
| 121 | const IOLoop * poIOLoop, |
| 122 | const CheckpointMgr * poCheckpointMgr, |
| 123 | const SMFac * poSMFac) |
| 124 | : Base(poConfig, poMsgTransport, poInstance), m_oLearnerState(poConfig, poLogStorage), |
| 125 | m_oPaxosLog(poLogStorage), m_oLearnerSender((Config *)poConfig, this, &m_oPaxosLog), |
| 126 | m_oCheckpointReceiver((Config *)poConfig, (LogStorage *)poLogStorage) |
| 127 | { |
| 128 | m_poAcceptor = (Acceptor *)poAcceptor; |
| 129 | InitForNewPaxosInstance(); |
| 130 | |
| 131 | m_iAskforlearn_noopTimerID = 0; |
| 132 | m_poIOLoop = (IOLoop *)poIOLoop; |
| 133 | |
| 134 | m_poCheckpointMgr = (CheckpointMgr *)poCheckpointMgr; |
| 135 | m_poSMFac = (SMFac *)poSMFac; |
| 136 | m_poCheckpointSender = nullptr; |
| 137 | |
| 138 | m_llHighestSeenInstanceID = 0; |
| 139 | m_iHighestSeenInstanceID_FromNodeID = nullnode; |
| 140 | |
| 141 | m_bIsIMLearning = false; |
| 142 | |
| 143 | m_llLastAckInstanceID = 0; |
| 144 | } |
| 145 | |
| 146 | Learner :: ~Learner() |
| 147 | { |
nothing calls this directly
no outgoing calls
no test coverage detected