def test_ndn_face_connect_disconnect(self): handle = _pyndn.create() self.assertRaises( _pyndn.NDNError, _pyndn.disconnect, handle) # "Closing an unopened connection should fail" _pyndn.connect(handle) _pyndn.disconnect(handle) self.assertRaises(_pyndn.NDNError, _pyndn.disconnect, handle) # "Closing handle twice shouldn't work" del handle c = NDN() _pyndn.disconnect(c.ndn_data) del c
def test_setRunTimeout(self): c = NDN() c.run(0) def change_timeout(): # print("Changing timeout!") c.setRunTimeout(1000) t = Timer(0.1, change_timeout) t.start() org_start = datetime.now() while True: self.assertLess((datetime.now() - org_start).seconds, 3) # setRunTimeout() failed start = datetime.now() c.run(5) diff = datetime.now() - start if diff.seconds * 1000000 + diff.microseconds > 500000: break
print("#Receiver# Got response %d" % kind) if (kind == 4): raise AssertionError("Got timeout") upcall_called = True #receiver_handle.setRunTimeout(0) event_loop.stop() 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
si.finalBlockID = last_segment si.publisherPublicKeyDigest = key.publicKeyID si.keyLocator = Key.KeyLocator(key) # ContentObject co = ContentObject.ContentObject() co.content = content co.name = co_name co.signedInfo = si co.sign(key) return co name = Name.Name('/repo/upload/test') name_v = Name.Name(name) name_v.appendVersion() handle = NDN.NDN() key = handle.getDefaultKey() last_seg = segment(9) content = [] for i in range(10): name_s = Name.Name(name_v) name_s += segment(i) co = publish(key, name_s, last_seg, "Segment: %d\n" % i) content.append(co) upload = RepoUpload(handle, name_v, content) upload.start()
from pyndn import NDN, Name c = NDN() print(c) n = Name() print(n) n = Name("ndn:/ndnx/ping") print(n) co = c.get(n) print(co) #this shouldn't cause segfault print(n) n = Name("ndn:/ndnx/some_nonexisting_name") co = c.get(n, None, 100) #this shouldn't cause segfault! print(co)