42 const std::string NodeHandshakeExtension::TAG =
"NodeHandshakeExtension";
103 }
catch (std::exception&) { };
125 virtual ~BundleFilter() {};
140 return _filter.contains(meta.
toString());
144 } bundle_filter(purge);
154 storage.
get(bundle_filter, list);
156 for (dtn::storage::BundleResultList::const_iterator iter = list.begin(); iter != list.end(); ++iter)
170 (**this).setPurged(meta);
172 }
while (!list.empty());
173 }
catch (std::exception&) { };
178 _endpoint.query(eid);
192 _endpoint.removeFromBlacklist(n.
getEID());
196 }
catch (
const std::bad_cast&) { };
200 : _callback(callback)
202 AbstractWorker::initialize(
"/routing", 50,
true);
205 NodeHandshakeExtension::HandshakeEndpoint::~HandshakeEndpoint()
209 void NodeHandshakeExtension::HandshakeEndpoint::callbackBundleReceived(
const Bundle &b)
211 _callback.processHandshake(b);
219 void NodeHandshakeExtension::HandshakeEndpoint::removeFromBlacklist(
const dtn::data::EID &eid)
222 _blacklist.erase(eid);
225 void NodeHandshakeExtension::HandshakeEndpoint::query(
const dtn::data::EID &origin)
238 (*_callback).requestHandshake(origin, request);
246 req.
source = getWorkerURI();
305 (**this).responseHandshake(bundle.
source, handshake, response);
313 answer.
source = _endpoint.getWorkerURI();
343 _endpoint.send(answer);
351 (**this).processHandshake(bundle.
source, handshake);