コード例 #1
0
ファイル: FTTdriverNode.C プロジェクト: koudonojinchuu/magnus
Boolean  FTTdriverNode::TT2pGo(void){
	if(!pTree->D.initInfo.TT2p.memoryOK || pTree->D.initInfo.TT2p.done){
		actOnFailure(t2p);
		return TRUE;
	}
	if(!TT2p){
		send(calibrateTT2pmsg);
		if(pTree->D.bank.TT2paccount.minRequired<TT2pminRequired)
			pTree->D.bank.TT2paccount.minRequired=TT2pminRequired;
		if(pTree->D.bank.TT2paccount.payCheck<TT2pPayCheck)
			pTree->D.bank.TT2paccount.payCheck=TT2pPayCheck;
		if(TT2pRepeatMax==AUTO_SET) TT2pRepeatMax=currentPres->g->numItems;
		
		TT2p=new FTT2pnode(this,pTree,currentPres);
		if(!TT2p->initOK){
			delete TT2p;TT2p=0;
			actOnFailure(t2p);
			return TRUE;
		}
		TT2pRepeatNum=0;
	}
	if(!TT2p->run()){
		delete TT2p;TT2p=0;
		if(newPres)mailPerson=LibMail;
		else actOnFailure(t2p);
	}
	return(TRUE);
}
コード例 #2
0
ファイル: FTTdriverNode.C プロジェクト: koudonojinchuu/magnus
Boolean  FTTdriverNode::TT2Go(void){
	if(!pTree->D.initInfo.TT2.memoryOK || pTree->D.initInfo.TT2.done){
		actOnFailure(t2);
		return TRUE;
	}
	if(!TT2){
		send(calibrateTT2msg);
		if(pTree->D.bank.TT2account.minRequired<TT2minRequired)
			pTree->D.bank.TT2account.minRequired=TT2minRequired;
		if(pTree->D.bank.TT2account.payCheck<TT2PayCheck)
			pTree->D.bank.TT2account.payCheck=TT2PayCheck;

		TT2=new FTT2node(this,pTree,currentPres,TT2len,newGen);
		if(!TT2->initOK){
			delete TT2;TT2=0;
			actOnFailure(t2);
			return TRUE;
		}
		TT2RepeatNum=0;
	}
	if(!TT2->run()){
		delete TT2;TT2=0;
		if(newPres)mailPerson=LibMail;
		else actOnFailure(t2);
	}
	return(TRUE);
}
コード例 #3
0
ファイル: FTTdriverNode.C プロジェクト: koudonojinchuu/magnus
Boolean  FTTdriverNode::TT1Go(void){
	
	if(!pTree->D.initInfo.TT1.memoryOK || pTree->D.initInfo.TT1.done){
		actOnFailure(t1);
		return TRUE;
	}
	mailPerson=TT1mail;
	if(!TT1){
		send(calibrateTT1msg);
		if(pTree->D.bank.TT1account.minRequired<TT1minRequired)
			pTree->D.bank.TT1account.minRequired=TT1minRequired;
		if(pTree->D.bank.TT1account.payCheck<TT1PayCheck)
			pTree->D.bank.TT1account.payCheck=TT1PayCheck;

		TT1=new FTT1node(this,pTree,currentPres);		
		if(!TT1->initOK){
			delete TT1;TT1=0;
			actOnFailure(t1);
			return TRUE;
		}
		TT1RepeatNum=0;
	}
#ifdef Frank_GenuineMac
	TRY{
#endif
		if(!TT1->run()){
			delete TT1;TT1=0;
			if(newPres)mailPerson=LibMail;
			else actOnFailure(t1);
		}
		lowFail("FTTdriverNode::TT1Go::after run");
#ifdef Frank_GenuineMac
	}
	CATCH{
		if(gLastError==memFullErr){
			// we have run out of memory.  
			// set the memory flag FALSE and
			// post warning.
			
			pTree->D.initInfo.TT1.memoryOK=FALSE;
			SysBeep(1);
			tout <= "TT1 is out of memory and cannot produce"
				<=" any more consequences.  The enumeration of"
				<=" presentations has been COMPROMISED." <= "\n";

			// clean up
			delete TT1;TT1=0;
			actOnFailure(t1);
			NO_PROPAGATE;
		}
	}
	ENDTRY;
#endif
	return(TRUE);
}
コード例 #4
0
ファイル: Peer.cpp プロジェクト: CanisLupus/igcl
	result_type Peer::whenCoordinatorDeregistersPeer(const descriptor_pair & sourceDesc, peer_id sourceId)
	{
		peer_id id;
		recv_(sourceDesc.desc, 0, id);
		if (knownPeers.idExists(id)) {
			actOnFailure(knownPeers.idToDescriptor(id));
		}
		return SUCCESS;
	}
コード例 #5
0
ファイル: FTTdriverNode.C プロジェクト: koudonojinchuu/magnus
Boolean  FTTdriverNode::TT1pGo(void){
		
	if(!pTree->D.initInfo.TT1p.memoryOK || pTree->D.initInfo.TT1p.done){
		actOnFailure(t1p);
		return TRUE;
	}
	if(!TT1p){
		send(calibrateTT1pmsg);
		if(pTree->D.bank.TT1paccount.minRequired<TT1pminRequired)
			pTree->D.bank.TT1paccount.minRequired=TT1pminRequired;
		if(pTree->D.bank.TT1paccount.payCheck<TT1pPayCheck)
			pTree->D.bank.TT1paccount.payCheck=TT1pPayCheck;
		if(TT1pRepeatMax==AUTO_SET) TT1pRepeatMax=currentPres->f->numItems;

		TT1p=new FTT1pnode(this,pTree,currentPres);
		if(!TT1p->initOK){
			delete TT1p;TT1p=0;
			actOnFailure(t1p);
			return TRUE;
		}
		TT1pRepeatNum=0;
	}
#ifdef Frank_GenuineMac
	TRY{
#endif
		if(!TT1p->run()){

			delete TT1p;TT1p=0;
			lowFail("FTTdriverNode::TT1pGo::after releasing memory");
			if(newPres){
				mailPerson=LibMail;
			}
			else{
				actOnFailure(t1p);
			}
		}
#ifdef Frank_GenuineMac
	}
	CATCH{
		if(gLastError==memFullErr){
			// we have run out of memory.  
			// set the memory flag FALSE and
			// post warning.
			
			pTree->D.initInfo.TT1p.memoryOK=FALSE;
			SysBeep(1);
			tout <= "TT1p is out of memory and cannot"
				<=" determine if this relator is a "
				<="consequence of the others.  The enumeration"
				<=" of presentations has been COMPROMISED." <= "\n";

			// clean up
			delete TT1p;TT1p=0;
			actOnFailure(t1p);
			NO_PROPAGATE;
		}
	}
	ENDTRY;
#endif
		
	return(TRUE);
}