Changeset 6796


Ignore:
Timestamp:
Nov 2, 2009, 10:39:21 AM (15 years ago)
Author:
mies
Message:

DHTTest working with 2 nodes

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sample/testdht/DHTTest.cpp

    r6786 r6796  
    190190
    191191void DHTTest::onKeyValue( const Data& key, const vector<Data>& value ) {
    192         logging_info( "----> Received DHT answer for '" << dtos(key) << "'.");
     192        if (value.size() == 0) {
     193                logging_info( "Received DHT answer for '" << dtos(key)
     194                                << "': no values stored! ");
     195                return;
     196        }
     197        logging_info( "Received DHT answer for '" << dtos(key) << "' "
     198                        << " with value='" << dtos(value.front()) << "'.") ;
    193199        // TODO: implement
    194200}
  • source/ariba/overlay/BaseOverlay.cpp

    r6786 r6796  
    6666        }
    6767
     68        ValueEntry( const ValueEntry& value ) :
     69                ttl(value.ttl), last_update(value.last_update),
     70                last_change(value.last_change), value(value.value.clone()) {
     71
     72        }
     73
    6874        ~ValueEntry()  {
    6975                value.release();
  • source/ariba/overlay/messages/DHTMessage.cpp

    r6266 r6796  
    2929
    3030DHTMessage::DHTMessage( const Data& key, const vector<Data>& values ) {
     31        this->key = key.clone();
    3132        BOOST_FOREACH(const Data value, values )
    3233                        this->values.push_back( value.clone() );
  • source/ariba/overlay/messages/DHTMessage.h

    r6786 r6796  
    6262        X && ttl;
    6363
    64 //      std::cout << "1" << std::endl;
    65 
    6664        // key serialization
    6765        uint16_t key_length = key.isUnspecified() ? 0 : key.getLength();
    6866        X && key_length;
    6967        if (X.isDeserializer()) key.setLength( key_length );
    70 
    71 //      std::cout << "2 - " << key_length << std::endl;
    7268        X && this->key;
    73 //      std::cout << "2b" << std::endl;
    7469
    7570        // store number of values
     
    7772        X && num_values;
    7873
    79 //      std::cout << "3" << std::endl;
    80 
    8174        // value serialization
    8275        for (size_t i=0; i<num_values; i++) {
    83 //              std::cout << "4" << std::endl;
    8476                Data value;
    8577                if (X.isSerializer()) value = values[i];
    8678                uint16_t value_length = value.isUnspecified() ? 0 : value.getLength();
    8779                X && value_length;
    88 //              std::cout << "5" << std::endl;
    8980                if (X.isDeserializer()) value.setLength( value_length );
    9081                X && value;
    91 //              std::cout << "6" << std::endl;
    9282                if (X.isDeserializer()) values.push_back(value);
    9383        }
Note: See TracChangeset for help on using the changeset viewer.