Ping6::Ping6 () { NS_LOG_FUNCTION_NOARGS (); m_sent = 0; m_socket = 0; m_seq = 0; m_sendEvent = EventId (); }
BOOST_FIXTURE_TEST_CASE(UnregisterWithoutConnection, RemoteRegistratorFixture) { connectToHub(); disconnectToHub(); Name indentity("/remote/register"); remoteRegistrator->m_regEntries.insert( nfd::rib::RemoteRegistrator::RegisteredEntry(indentity, EventId())); eraseEntryWithIdentity(indentity); BOOST_REQUIRE_EQUAL(face->sentInterests.size(), 0); }
void Dpor::ProcessTransition(size_t step, ChessTransition& trans) { const Task tid = trans.tid; // Find tid's timestamp prior to performing lookahead. Not quite sure if I did this // correctly, it's hard to keep track of which timestamp I've got. Someone should double // check this. -Katie // Dealing with timestamps being equal to zero for an access that neither reads nor // writes is veeery annoying. It would be nice if there were a way to clean that up. Also, // be careful about var 0, which is used for things like memory barriers that don't actually // involve any communication between threads. Those aren't *actually* happens before. -Katie Timestamp pts; size_t index; if (m_exec->PrevHbTransitionOfTask(step, tid, index)) { pts = ChessImpl::GetRaceMonitor()->get_hbstamp(EventId(tid, m_exec->GetPerThreadStepNum(index))); } // find the step of the most recent conflicting access to var const size_t bstep = 0; const SyncVar var = trans.var; const SyncVarOp op = trans.op; if (SVOP::IsRead(op) || SVOP::IsWrite(op)) { if (m_svm->IsAggregate(var)) { const size_t size = m_svm->GetAggregateVectorSize(var); const SyncVar* aggVarVec = m_svm->GetAggregateVector(var); for (size_t i = 0; i < size; i++) { FindConflict(aggVarVec[i], op, tid, pts); } } else { FindConflict(var, op, tid, pts); } } else if (ChessImpl::GetOptions().fair_por && op == SVOP::TASK_YIELD) { for (size_t i = 1; i < ChessImpl::NumThreads(); i++) { if (i != tid && m_enabled->IsEnabledAtStep(step, i)) { AddBacktrackingPoint(step, i, false); } } } }