while(!Batches reaches destination){

newF = Ф; //new forwarding set containing eligible forwarders

for all i Є F (forwarder set consisting of node (n1, n2, n3, n4, ∙∙∙, nn)){

if(ADRi > ADRth and AECi < AECth and ATDi < ATDth)


new F = newF U {ni};



if (newF= Ф){

if(REi >> REth ){

TPi = SelectOptimalTp();

Get ATDi, ADRi and AECi for the power level TPi;





encapsulate forwarder set (newF) → data packet ;

opportunistically send the packet, received by only selected forwarders and discarded by others;