[ndnSIM] [EXT] Redundant code in Forwarder::onIncomingData pipeline?

Junxiao Shi shijunxiao at email.arizona.edu
Fri Apr 23 03:06:11 PDT 2021

Hi Sonia

The condition is testing whether there are more than one *PIT entry*, not
downstream face.
Strategy::afterReceiveData can be overridden in subclass, so it's not an
exact duplicate.
See https://redmine.named-data.net/issues/4290 for reasoning.

Yours, Junxiao

On Fri, Apr 23, 2021, 03:43 Sonia via ndnSIM <ndnsim at lists.cs.ucla.edu>

> Hi,
> Please guide me if I am missing something.
> In onIncomingData pipeline when there is at least one PIT entry match (
> if (pitMatches.size() == 1) { ....... )  it calls
> Strategy.afterReceiveData() method and this method sends data to all
> pending down streams via its this->sendDataToAll(pitEntry, inFace, data);
> method.
> My question is then why the else statement (for multiple downstream faces)
> is there in Forwarder::onIncomingData pipeline. Isn't this code redundant
> as the  Strategy.afterReceiveData() method already have implemented the
> same logic?
> My second concern is that I have run many scenarios (both p2p and adhoc)
> and multiple strategies (including multicast and broadcast), but I always
> get only one downstream face never got more than 1 pending downstream face.
> I checked it in Forwarder log.
> Any quidance will be highly appreciated.
> Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20210423/3e26b46f/attachment.html>

More information about the ndnSIM mailing list