22 #ifndef NODEHANDSHAKE_H_
23 #define NODEHANDSHAKE_H_
52 virtual std::ostream&
serialize(std::ostream&)
const = 0;
53 virtual std::istream&
deserialize(std::istream&) = 0;
64 std::ostream&
serialize(std::ostream&)
const;
82 std::ostream&
serialize(std::ostream&)
const;
142 typedef std::map<dtn::data::Number, std::stringstream* > stream_map;
155 StreamMap _raw_items;
169 if (!_raw_items.has(T::identifier))
170 throw ibrcommon::Exception(
"item not available");
172 T *item_template =
new T();
173 item_template->deserialize( _raw_items.get(T::identifier) );
176 _raw_items.remove(T::identifier);
179 _items.push_back(item_template);
181 return (*item_template);
184 return dynamic_cast<T&
>(*item);
const std::string toString() const
friend std::istream & operator>>(std::istream &, NodeHandshake &)
virtual const dtn::data::Number & getIdentifier() const =0
virtual std::ostream & serialize(std::ostream &) const =0
BloomFilterSummaryVector()
virtual std::istream & deserialize(std::istream &)=0
void addItem(NodeHandshakeItem *item)
std::ostream & serialize(std::ostream &) const
bool hasItem(const dtn::data::Number &identifier) const
const dtn::data::Number & getLifetime() const
virtual ~BloomFilterPurgeVector()
bool hasRequest(const dtn::data::Number &identifier) const
std::istream & deserialize(std::istream &)
std::list< NodeHandshakeItem * > item_set
MESSAGE_TYPE getType() const
static const dtn::data::Number identifier
dtn::data::Length getLength() const
const dtn::data::Number & getIdentifier() const
const dtn::data::Number & getIdentifier() const
const request_set & getRequests() const
virtual dtn::data::Length getLength() const =0
const dtn::data::BundleSet & getVector() const
const item_set & getItems() const
virtual ~NodeHandshakeItem()
const dtn::data::BundleSet & getVector() const
std::ostream & serialize(std::ostream &) const
dtn::data::Length getLength() const
static const dtn::data::Number identifier
std::set< dtn::data::Number > request_set
void addRequest(const dtn::data::Number &identifier)
friend std::ostream & operator<<(std::ostream &, const NodeHandshake &)
virtual ~BloomFilterSummaryVector()
std::istream & deserialize(std::istream &)