An Overlay-based
Virtual Network Substrate
SpoVNet

source: source/ariba/overlay/messages/DHTMessage.cpp @ 6835

Last change on this file since 6835 was 6835, checked in by mies, 14 years ago

added replace flag

File size: 1012 bytes
Line 
1#include "DHTMessage.h"
2
3#include<boost/foreach.hpp>
4
5namespace ariba {
6namespace overlay {
7
8vsznDefault(DHTMessage);
9
10DHTMessage::DHTMessage() {
11        this->key.setLength(0);
12        this->ttl =0 ;
13        this->replace = false;
14}
15
16DHTMessage::DHTMessage( const Data& key ) {
17        // calculate hash of key
18        this->hash = NodeID::sha1( key.getBuffer(), key.getLength() / 8 );
19        this->key = key.clone();
20        this->ttl =0 ;
21        this->replace = false;
22}
23
24DHTMessage::DHTMessage( const Data& key, const Data& value ) {
25        // calculate hash of key
26        this->hash = NodeID::sha1( key.getBuffer(), key.getLength() / 8 );
27        this->key = key.clone();
28        this->values.push_back(  value.clone() );
29        this->ttl =0 ;
30        this->replace = false;
31}
32
33DHTMessage::DHTMessage( const Data& key, const vector<Data>& values ) {
34        this->key = key.clone();
35        BOOST_FOREACH(const Data value, values )
36                        this->values.push_back( value.clone() );
37        this->replace = false;
38}
39
40DHTMessage::~DHTMessage() {
41        this->key.release();
42        BOOST_FOREACH( Data& value, values ) value.release();
43}
44
45}}
Note: See TracBrowser for help on using the repository browser.