[Ndn-interest] download a file using PyNDN

Ishita Dasgupta ishita.dasgupta at gmail.com
Fri May 26 11:22:04 PDT 2017


Hi Jeff,

Now it would not return any Data packet at all.
At consumer(ndndump):

> 1495818158.862071 From: 192.1.242.150, To: 192.1.242.151, Tunnel Type:
> TCP, INTEREST:
> /ndn/broadcast/ndnfs/BigBuckBunny_4s_simple_2014_05_09.mpd?ndn.ChildSelector=1&ndn.MustBeFresh=1&ndn.InterestLifetime=1000&ndn.Nonce=1259570516&ndn.Exclude=%C1.FS.file
>

<NO DATA PACKET IN RESPONSE>


Regards,
Ishita Dasgupta

*Graduate Student**College of Information and Computer Sciences*
*,UMass Amherst*
*Email*: ishitadg at cs.umass.edu

On Fri, May 26, 2017 at 12:54 PM, Thompson, Jeff <jefft0 at remap.ucla.edu>
wrote:

> After
>
> interest = Interest(name3)
>
> try adding
>
> interest.getExclude().appendComponent(Name("%C1.FS.file")[0])
>
> This is because NDNFS not only serves the Data packet segments of the
> file, but a “meta info” packet where the name has the component
> “"%C1.FS.file”. The code above should exclude it.
>
> Let us know,
> - Jeff T
>
> From: Ishita Dasgupta <ishita.dasgupta at gmail.com>
> Date: Friday, May 26, 2017 at 9:38:00
> To: Jeff Thompson <jefft0 at remap.ucla.edu>
> Cc: "ndn-interest at lists.cs.ucla.edu" <ndn-interest at lists.cs.ucla.edu>
>
> Subject: Re: [Ndn-interest] download a file using PyNDN
>
> Hi Jeff,
>
> I have a file test.txt being served on my ndnfs server. Prefix:
> /ndn/broadcast/ndnfs
> I implement SegmentFetcher in the following way and print content and
> error message
>
>  name3 = Name(url)
>>  dump("Express name ", name3.toUri())
>>  interest = Interest(name3)
>>  dump(interest.toUri())
>>  interest.setInterestLifetimeMilliseconds(1000)
>> SegmentFetcher.fetch(face, interest, None, counter.onComplete,
>> counter.onError)
>
>
> This is what i get:
>
>> /ndn/broadcast/ndnfs/BigBuckBunny_4s_simple_2014_
>> 05_09.mpd?ndn.MustBeFresh=true
>> onError
>> 2
>> Got an unexpected packet without a segment number: /ndn/broadcast/ndnfs/
>> BigBuckBunny_4s_simple_2014_05_09.mpd/%C1.FS.file/%FDY%28Q8
>
>
> When I do an ndndump on the consumer, I see:
>
>> 1495816236.074843 From: 192.1.242.150, To: 192.1.242.151, Tunnel Type:
>> TCP, INTEREST: /ndn/broadcast/ndnfs/BigBuckBunny_4s_simple_2014_
>> 05_09.mpd?ndn.ChildSelector=1&ndn.MustBeFresh=1&ndn.
>> InterestLifetime=1000&ndn.Nonce=3797640908
>
>
>
> 1495816236.085709 From: 192.1.242.151, To: 192.1.242.150, Tunnel Type:
>> TCP, DATA: /ndn/broadcast/ndnfs/BigBuckBunny_4s_simple_2014_
>> 05_09.mpd/%C1.FS.file/%FDY%28Q8
>
>
> I thought fetching segment number was internally done in your Segment
> Fetcher util. Do I need to implement it some way on my end as well?
>
> Regards,
> Ishita Dasgupta
>
> *Graduate Student **College of Information and Computer Sciences*
> *, UMass Amherst*
> *Email*: ishitadg at cs.umass.edu
>
> On Thu, May 25, 2017 at 2:15 PM, Thompson, Jeff <jefft0 at remap.ucla.edu>
> wrote:
>
>> Hi Ishita,
>>
>> We have NDNFS producing sample data at memoria.ndn.ucla.edu. The PyNDN
>> code below uses the SegmentFetcher to fetch the segments of a file (a
>> JavaScript file). NDNFS has split the file into 12 segments, which
>> SegmentFetcher retrieves to supply the content to the callback.
>> SegmentFetcher documentation is here:
>> https://github.com/named-data/PyNDN2/blob/master/python/pynd
>> n/util/segment_fetcher.py#L142
>>
>> - Jeff T
>>
>> import time, sys
>> from pyndn import Name, Interest, Face
>> from pyndn.util import SegmentFetcher
>>
>> face = Face("memoria.ndn.ucla.edu")
>> SegmentFetcher.fetch(face, Interest(Name(
>>   "/ndn/edu/ucla/remap/demo/ndn-js-test/named-data.net/wp-incl
>> udes/js/jquery/jquery.js/%FDX%DC5B")),
>>   None, lambda content: sys.stdout.write(content.toRawStr()),
>>   lambda errorCode, message: sys.stdout.write("Got error " + message))
>>
>> while True:
>>     face.processEvents()
>>     time.sleep(0.01)
>>
>>
>> From: Ishita Dasgupta <ishita.dasgupta at gmail.com>
>> Date: Thursday, May 25, 2017 at 6:00:00
>> To: Jeff Thompson <jefft0 at remap.ucla.edu>, "ndn-interest at lists.cs.ucla.ed
>> u" <ndn-interest at lists.cs.ucla.edu>
>> Subject: Re: [Ndn-interest] download a file using PyNDN
>>
>> Hi Jeff,
>>
>> Yes
>> ​, the producer is responding to Interests with Data packets representing
>> the file. I run NDNFS on the producer.
>>>>
>> On Wed, May 24, 2017 at 4:35 PM Thompson, Jeff <jefft0 at remap.ucla.edu>
>> wrote:
>>
>>> Hi Ishta,
>>>
>>> In NDN, there is a producer and consumer. The consumer sends an Interest
>>> and the producer (or a cache in the network) responds with a Data packet.
>>> When you say “an entire file from an NDN server” I assume you mean a
>>> producer that is responding to Interests with Data packets representing the
>>> file. What producer software is running on the server?
>>>
>>> - Jeff T
>>>
>>> From: Ndn-interest <ndn-interest-bounces at lists.cs.ucla.edu> on behalf
>>> of Ishita Dasgupta <ishita.dasgupta at gmail.com>
>>> Date: Wednesday, May 24, 2017 at 8:29:00
>>> To: "ndn-interest at lists.cs.ucla.edu" <ndn-interest at lists.cs.ucla.edu>
>>> Subject: [Ndn-interest] download a file using PyNDN
>>>
>>> Hi All,
>>>
>>> Has anybody used PyNDN to download an entire file from an ndn server?
>>> I see or receive jibberish data in form of one data packet but don't
>>> seem to copying the exact content of the file(no matter the size, i.e
>>> irrespective of the fact that the file gets divided to multiple segments or
>>> just one segment).
>>> Any guidance with this would be helpful.
>>>
>>> Thanks,
>>> Ishita
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20170526/c2747b49/attachment.html>


More information about the Ndn-interest mailing list