コード例 #1
0
def main():
    setLogLevel('info')
    Popen(['rm', '-r', '/tmp/minindn/'], stdout=PIPE,
          stderr=PIPE).communicate()
    ndn = Minindn()

    repos = {
        'r1': {
            'repoPrefix': '/repo/r1',
            'servedPrefixes': ['/sensor/s1'],
            'host': ndn.net['r1']
        }
    }
    sensors = {
        's1': {
            'sensorPrefix': '/sensor/s1',
            'host': ndn.net['s1'],
            'service': 'repo'
        }  # sensor is interested in repo service
    }

    users = {
        'u1': {
            'userPrefix': '/user/u1',
            'host': ndn.net['u1'],
            'service': 'repo'
        }  # user is interested in repo service, and to find what prefixes it serves
    }

    repo_obj = Repo()
    bms = BMS(ndn, ndn.args, repo_obj, repos, sensors, users)
    bms.configureRepo()
    bms.configureSensor()
    bms.configureUsers()

    # insert some data into the repo
    bms.users['u1']["repoNames"] = getRepoNames(bms.users['u1']['host'].name,
                                                bms.users['u1']["logFile"])
    bms.sensors['s1']["repoNames"] = getRepoNames(
        bms.sensors['s1']['host'].name, bms.sensors['s1']['logFile'])

    repo_obj.putDataIntoRepo(bms.sensors['s1']["host"],
                             bms.sensors['s1']['repoNames'][0],
                             bms.sensors['s1']["sensorPrefix"])
    time.sleep(2)  #make sure data is inserted into the repo

    repo_obj.getDataFromRepo(bms.users['u1']["host"],
                             bms.users['u1']["repoNames"][0],
                             bms.sensors['s1']["sensorPrefix"])

    MiniNDNCLI(ndn.net)
    ndn.stop()