Пример #1
0
def load_data(dht_node_list):
    '''
    @param {List} dht_node_list --- Each element is a dht node

    @returns {List} --- Each element is a a data.DataItem, which is a thin
    wrapper for data key and value.
    '''
    start = time.time()
    data_items = data.get_data(conf.NUMBER_DATA_ITEMS)
    if len(dht_node_list) == 0:
        dht_util.dht_assert(
            'No dht nodes passed in when loading data')
    dht_load_node = dht_node_list[0]

    for counter in range(0, len(data_items)):
        # if (counter % 50) == 0:
        #     print 'Loading data ' + str(counter) + ' of ' + str(len(data_items))
        print 'Loading data ' + str(counter) + ' of ' + str(len(data_items))
        
        data_item = data_items[counter]
        dht_load_node.add_data(data_item.key,data_item.val)

    elapsed = time.time() - start
    print '\nLoad time: ' + str(elapsed)
    print '\n'
        
    return data_items
Пример #2
0
def query_loaded_data(dht_node_list,loaded_data_list):
    start = time.time()
    
    total_num_hops = 0
    for counter in range(0,len(loaded_data_list)):

        if (counter % 50) == 0:
            print ('About to query for index ' +
                   str(counter) + ' of ' +
                   str(len(loaded_data_list)))
        
        data_item_to_query_for = loaded_data_list[counter]
        node_to_query = dht_node_list[counter % len(dht_node_list)  ]
        
        gotten_value, num_hops_to_get, found = node_to_query.get_data(
            data_item_to_query_for.key)

        if not found:
            import pdb
            pdb.set_trace()
            dht_util.dht_assert(
                'Could not find value expecting when querying dht')
        if gotten_value != data_item_to_query_for.val:
            dht_util.dht_assert(
                'Queried value disagrees with expected value when querying the dht')

        total_num_hops += num_hops_to_get

    elapsed = time.time() - start
    print '\n\n'
    print 'Average number of hops: ' + str(float(total_num_hops)/float(counter))
    print 'Elapsed time: ' + str(elapsed)
    print '\n\n'