示例#1
0
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);
}
示例#3
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);
			}
		}
	}
}