Changeset 6835 for source/ariba/overlay/BaseOverlay.cpp
- Timestamp:
- Nov 5, 2009, 10:18:18 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
source/ariba/overlay/BaseOverlay.cpp
r6832 r6835 2108 2108 switch (msg->getType()) { 2109 2109 case OverlayMsg::typeDHTPut: { 2110 if (dhtMsg->doReplace()) dht->remove(dhtMsg->getKey()); 2110 2111 BOOST_FOREACH( Data value, dhtMsg->getValues() ) 2111 2112 dht->put(dhtMsg->getKey(), value, dhtMsg->getTTL() ); … … 2145 2146 2146 2147 /// put a value to the DHT with a ttl given in seconds 2147 void BaseOverlay::dhtPut( const Data& key, const Data& value, int ttl ) {2148 void BaseOverlay::dhtPut( const Data& key, const Data& value, int ttl, bool replace ) { 2148 2149 2149 2150 logging_info("DHT: putting key=" << key 2150 2151 << " value=" << value 2151 2152 << " ttl=" << ttl 2153 << " replace=" << replace 2152 2154 ); 2153 2155 2156 2154 2157 // put into local data store (for refreshes) 2155 localDHT->put(key,value,ttl); 2158 if (replace) localDHT->remove(key); 2159 localDHT->put(key, value, ttl); 2156 2160 2157 2161 // calculate hash 2158 2162 NodeID dest = NodeID::sha1(key.getBuffer(), key.getLength() / 8); 2159 2163 DHTMessage dhtmsg(key,value); 2164 dhtmsg.setReplace(replace); 2160 2165 dhtmsg.setTTL(ttl); 2161 2166
Note:
See TracChangeset
for help on using the changeset viewer.