[ndnSIM] Delete a pitEntry (not so easy as it seems to be)

Alex Afanasyev aa at CS.UCLA.EDU
Thu Dec 10 15:45:08 PST 2015


Hi Natalya,

This seem to be a deficiency in the current interface that we should fix asap.

As an immediate workaround, which could be faster then what Junxiao suggested, but not future-safe code:

    auto pitIterator = pit.begin();
    // ...
    shared_ptr<pit::Entry> pitEntry = pitIterator.operator->();
    pit.erase(pitEntry);

---
Alex

> On Dec 10, 2015, at 8:40 AM, Junxiao Shi <shijunxiao at email.arizona.EDU> wrote:
> 
> Hi Natalya
> 
> You may invoke Pit::insert again with the same Interest, which would return the same entry as a shared_ptr<pit::Entry>.
> Then you can erase this entry.
> 
> Yours, Junxiao
> 
> On Thu, Dec 10, 2015 at 4:02 AM, Natalya Rozhnova <rozhnova.natalya at gmail.com <mailto:rozhnova.natalya at gmail.com>> wrote:
> Hi all,
> 
> It's me again. :)
> The task I want to perform is to iterate in the Pit in order to find some interesting entries and delete them.
> I just discovered that the Pit iterators return const nfd::pit::Entry& but the function erase takes shared_ptr<pit::Entry> as parameter. I can't create the shared_ptr with make_shared because the class is protected by "noncopyable". So I can't delete the entries I want by iterating in the pit...
> Is there any other way to do it?
> 
> Thanks in advance.
> Best,
> Natalya

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20151210/82763e39/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20151210/82763e39/attachment.bin>


More information about the ndnSIM mailing list