Lines Matching full:pel
78 * @brief Create PEL with the specified action flags
82 * @return std::unique_ptr<PEL>
84 std::unique_ptr<PEL> makePEL(uint16_t actionFlagsMask = 0) in makePEL()
92 auto pel = std::make_unique<PEL>(data, obmcID++); in makePEL() local
93 pel->assignID(); in makePEL()
94 pel->setCommitTime(); in makePEL()
95 return pel; in makePEL()
162 auto pel = makePEL(); in TEST_F() local
163 repo.add(pel); in TEST_F()
166 EXPECT_TRUE(notifier.enqueueRequired(pel->id())); in TEST_F()
167 EXPECT_TRUE(notifier.notifyRequired(pel->id())); in TEST_F()
173 // Now set this PEL to host acked in TEST_F()
174 repo.setPELHostTransState(pel->id(), TransmissionState::acked); in TEST_F()
177 EXPECT_FALSE(notifier.enqueueRequired(pel->id())); in TEST_F()
178 EXPECT_FALSE(notifier.notifyRequired(pel->id())); in TEST_F()
181 // Test the 'don't report' PEL flag
187 auto pel = makePEL(0x1000); in TEST_F() local
190 std::bitset<16> actionFlags = pel->userHeader().actionFlags(); in TEST_F()
193 repo.add(pel); in TEST_F()
196 EXPECT_FALSE(notifier.enqueueRequired(pel->id())); in TEST_F()
206 auto pel = makePEL(0x4000); in TEST_F() local
209 std::bitset<16> actionFlags = pel->userHeader().actionFlags(); in TEST_F()
212 repo.add(pel); in TEST_F()
215 EXPECT_TRUE(notifier.enqueueRequired(pel->id())); in TEST_F()
218 EXPECT_TRUE(notifier.notifyRequired(pel->id())); in TEST_F()
227 auto pel = makePEL(0x4000); in TEST_F() local
230 std::bitset<16> actionFlags = pel->userHeader().actionFlags(); in TEST_F()
233 repo.add(pel); in TEST_F()
236 EXPECT_TRUE(notifier.enqueueRequired(pel->id())); in TEST_F()
238 repo.setPELHMCTransState(pel->id(), TransmissionState::acked); in TEST_F()
241 EXPECT_FALSE(notifier.enqueueRequired(pel->id())); in TEST_F()
251 auto pel = makePEL(0x4000); in TEST_F() local
253 repo.add(pel); in TEST_F()
256 EXPECT_TRUE(notifier.notifyRequired(pel->id())); in TEST_F()
261 EXPECT_FALSE(notifier.notifyRequired(pel->id())); in TEST_F()
270 auto pel = makePEL(); in TEST_F() local
271 repo.add(pel); in TEST_F()
281 auto pel = makePEL(); in TEST_F() local
282 repo.add(pel); in TEST_F()
295 // Add a PEL with the host off in TEST_F()
296 auto pel = makePEL(); in TEST_F() local
297 repo.add(pel); in TEST_F()
309 // Verify the state was written to the PEL. in TEST_F()
310 Repository::LogID id{Repository::LogID::Pel{pel->id()}}; in TEST_F()
312 PEL pelFromRepo{*data}; in TEST_F()
316 pel = makePEL(); in TEST_F()
317 repo.add(pel); in TEST_F()
331 pel = makePEL(); in TEST_F()
332 repo.add(pel); in TEST_F()
346 auto pel = makePEL(); in TEST_F() local
347 repo.add(pel); in TEST_F()
348 pel = makePEL(); in TEST_F()
349 repo.add(pel); in TEST_F()
385 auto pel = makePEL(); in TEST_F() local
386 repo.add(pel); in TEST_F()
403 pel = makePEL(); in TEST_F()
404 repo.add(pel); in TEST_F()
430 auto pel = makePEL(); in TEST_F() local
431 repo.add(pel); in TEST_F()
440 // Now add another PEL, and it should start trying again in TEST_F()
442 pel = makePEL(); in TEST_F()
443 repo.add(pel); in TEST_F()
493 auto pel = makePEL(); in TEST_F() local
494 repo.add(pel); in TEST_F()
505 pel = makePEL(); in TEST_F()
506 repo.add(pel); in TEST_F()
524 // Add and send one PEL, but don't enter the event loop in TEST_F()
526 auto pel = makePEL(); in TEST_F() local
527 repo.add(pel); in TEST_F()
554 // Test that acking a PEL persist across power cycles
562 auto pel = makePEL(); in TEST_F() local
563 repo.add(pel); in TEST_F()
564 auto id1 = pel->id(); in TEST_F()
566 pel = makePEL(); in TEST_F()
567 repo.add(pel); in TEST_F()
568 auto id2 = pel->id(); in TEST_F()
590 // Ack them and verify the state in the PEL. in TEST_F()
594 Repository::LogID id{Repository::LogID::Pel{id1}}; in TEST_F()
596 PEL pelFromRepo1{*data}; in TEST_F()
601 PEL pelFromRepo2{*data}; in TEST_F()
614 // BMC: new PEL available in TEST_F()
627 // Add and dispatch/send one PEL in TEST_F()
628 auto pel = makePEL(); in TEST_F() local
629 auto id = pel->id(); in TEST_F()
630 repo.add(pel); in TEST_F()
643 Repository::LogID i{Repository::LogID::Pel{id}}; in TEST_F()
645 PEL pelFromRepo{*data}; in TEST_F()
654 // Add another PEL and clock it, still nothing sent in TEST_F()
655 pel = makePEL(); in TEST_F()
656 repo.add(pel); in TEST_F()
676 // Add yet another PEL with the retry timer expired. in TEST_F()
678 pel = makePEL(); in TEST_F()
679 repo.add(pel); in TEST_F()
686 // Host no longer full, it finally acks the first PEL in TEST_F()
696 // Test when the host says it was send a malformed PEL
707 // Add a PEL and dispatch and send it in TEST_F()
708 auto pel = makePEL(); in TEST_F() local
709 auto id = pel->id(); in TEST_F()
710 repo1.add(pel); in TEST_F()
722 // Check the state was saved in the PEL itself in TEST_F()
723 Repository::LogID i{Repository::LogID::Pel{id}}; in TEST_F()
725 PEL pelFromRepo{*data}; in TEST_F()
763 // Add a PEL with the host off in TEST_F()
764 auto pel = makePEL(); in TEST_F() local
765 repo.add(pel); in TEST_F()
773 pel = makePEL(); in TEST_F()
774 repo.add(pel); in TEST_F()
778 // Now getHostPELEnablement() will return true for the new PEL in TEST_F()
779 pel = makePEL(); in TEST_F()
780 repo.add(pel); in TEST_F()