from pyndn import NDN, Name, Interest, Closure
from time import sleep

worked = False

class MyClosure(Closure):
	def upcall(self, kind, upcallInfo):
		global worked

		print("Got response")
		print(kind)
		print(upcallInfo)
		worked = True

n = Name("ndn:/ndnx/ping")

i = Interest()
closure = MyClosure()

c = NDN()
res = c.expressInterest(n, closure, i)
print(res)

#causes crashes
c.run(10)
print("Ha!")
assert(worked)
        return pyndn.RESULT_OK


senderclosure = SenderClosure()
receiverclosure = ReceiverClosure()

sender_handle = NDN()
receiver_handle = NDN()

#Looks like the NDNx API doesn't deliver messages
#that we sent to ourselves, so we just push it
sender_handle.setInterestFilter(n, senderclosure)
#senderclosure.upcall(1, None)

i = Interest()
receiver_handle.expressInterest(n, receiverclosure, i)

upcall_called = False

print("Running loops")

#So sender closure is called
#sender_handle.run(500)

#So receiver closure is called
#receiver_handle.run(500)

# New way of doing this
event_loop = pyndn.EventLoop(sender_handle, receiver_handle)
event_loop.run()
示例#3
0
		return pyndn.RESULT_OK

senderclosure = SenderClosure()
receiverclosure = ReceiverClosure()

sender_handle = NDN()
receiver_handle = NDN()

#Looks like the NDNx API doesn't deliver messages
#that we sent to ourselves, so we just push it
sender_handle.setInterestFilter(n, senderclosure)
#senderclosure.upcall(1, None)

i = Interest()
receiver_handle.expressInterest(n, receiverclosure, i)

upcall_called = False

print("Running loops")

#So sender closure is called
#sender_handle.run(500)

#So receiver closure is called
#receiver_handle.run(500)

# New way of doing this
event_loop = pyndn.EventLoop(sender_handle, receiver_handle)
event_loop.run()