예제 #1
0
from pyccn import Interest, Name, Key, CCN, _pyccn
import datetime

k = CCN.getDefaultKey()

i = Interest()
i.name = Name('/hello/world')
i.minSuffixComponents = 2
i.maxSuffixComponents = 4
i.publisherPublicKeyDigest = k.publicKeyID
i.exclude = None
i.childSelector = 1
i.answerOriginKind = 4
i.scope = 2
i.interestLifetime = 30.0
i.nonce = b'abababa'

print(i)
print(i.ccn_data)

i2 = _pyccn.Interest_obj_from_ccn(i.ccn_data)
print(i2)

assert (i.name == i2.name)
assert (i.minSuffixComponents == i2.minSuffixComponents)
assert (i.maxSuffixComponents == i2.maxSuffixComponents)
assert (i.publisherPublicKeyDigest == i2.publisherPublicKeyDigest)
assert (i.exclude == i2.exclude)
assert (i.childSelector == i2.childSelector)
assert (i.scope == i2.scope)
assert (i.interestLifetime == i2.interestLifetime)
예제 #2
0
파일: interest.py 프로젝트: Emat12/PyCCN
from pyccn import Interest, Name, Key, CCN, _pyccn
import datetime

k = CCN.getDefaultKey()

i = Interest()
i.name = Name('/hello/world')
i.minSuffixComponents = 2
i.maxSuffixComponents = 4
i.publisherPublicKeyDigest = k.publicKeyID
i.exclude = None
i.childSelector = 1
i.answerOriginKind = 4
i.scope = 2
i.interestLifetime = 30.0
i.nonce = b'abababa'

print(i)
print(i.ccn_data)

i2 = _pyccn.Interest_obj_from_ccn(i.ccn_data)
print(i2)

assert(i.name == i2.name)
assert(i.minSuffixComponents == i2.minSuffixComponents)
assert(i.maxSuffixComponents == i2.maxSuffixComponents)
assert(i.publisherPublicKeyDigest == i2.publisherPublicKeyDigest)
assert(i.exclude == i2.exclude)
assert(i.childSelector == i2.childSelector)
assert(i.scope == i2.scope)
assert(i.interestLifetime == i2.interestLifetime)
예제 #3
0
        oldObjects.add(key)
        if tyzxObjects.has_key(key):
            del tyzxObjects[key]

    def printPresent(self):
        print
        for obj in tyzxObjects.values():
            print obj.id, ":", obj.x, obj.y, obj.z, obj.localupdatetime

if __name__ == "__main__":
    print "prefix", prefix
    processIncoming = ProcessIncoming()
    while (True):
        T = time.time()
        if T - lastdiscovertime > DISCOVER_INTEREST_PERIOD:
            interestDiscover.exclude = ExclusionFilter()
            interestDiscover.exclude.add_names(
                [Name([key]) for key in tyzxObjects.keys()])
            interestDiscover.exclude.add_names(
                [Name([key]) for key in oldObjects])
            ccn.expressInterest(interestDiscover.name, processIncoming,
                                interestDiscover)
            lastdiscovertime = time.time()
        for obj in tyzxObjects.values():
            if T - obj.lastinteresttime < UPDATE_INTEREST_PERIOD:
                continue
            interestUpdate.name = Name(prefix)
            interestUpdate.name += str(obj.id)
            interestUpdate.exclude = ExclusionFilter()
            interestUpdate.exclude.add_any()
            n = Name()
예제 #4
0
        oldObjects.add(key)
        if tyzxObjects.has_key(key):
            del tyzxObjects[key]        
            
    def printPresent(self):
        print
        for obj in tyzxObjects.values():
            print obj.id,":", obj.x, obj.y, obj.z, obj.localupdatetime

if __name__ == "__main__":
    print "prefix", prefix
    processIncoming = ProcessIncoming()        
    while (True):        
        T = time.time()
        if T-lastdiscovertime > DISCOVER_INTEREST_PERIOD:
            interestDiscover.exclude = ExclusionFilter()
            interestDiscover.exclude.add_names([Name([key]) for key in tyzxObjects.keys()])
            interestDiscover.exclude.add_names([Name([key]) for key in oldObjects]) 
            ccn.expressInterest(interestDiscover.name, processIncoming, interestDiscover) 
            lastdiscovertime = time.time()        
        for obj in tyzxObjects.values():
            if T-obj.lastinteresttime < UPDATE_INTEREST_PERIOD:
                continue
            interestUpdate.name = Name(prefix)    
            interestUpdate.name += str(obj.id) 
            interestUpdate.exclude = ExclusionFilter()
            interestUpdate.exclude.add_any()
            n = Name()
            n.components.append(versionFromTime(obj.time))                
            interestUpdate.exclude.add_name(n)
	    interestUpdate.exclude.add_name(Name([last_version_marker]))