fix memory leak in ccnx-tunnel
diff --git a/include/ccnx-closure.h b/include/ccnx-closure.h
index 66f79e8..f006d11 100644
--- a/include/ccnx-closure.h
+++ b/include/ccnx-closure.h
@@ -31,6 +31,9 @@
virtual TimeoutCallbackReturnValue
runTimeoutCallback(const Name &interest);
+ virtual Closure *
+ dup() const;
+
protected:
int m_retry;
TimeoutCallback *m_timeoutCallback;
diff --git a/include/ccnx-tunnel.h b/include/ccnx-tunnel.h
index 0525458..b71d3c1 100644
--- a/include/ccnx-tunnel.h
+++ b/include/ccnx-tunnel.h
@@ -40,7 +40,7 @@
publishContentObject(const Name &name, const Bytes &contentObject, int freshness);
virtual int
- sendInterest (const Name &interest, Closure *closure, const Selectors &selectors = Selectors());
+ sendInterest (const Name &interest, const Closure *closure, const Selectors &selectors = Selectors());
// prefix is topology-independent
@@ -95,6 +95,9 @@
virtual TimeoutCallbackReturnValue
runTimeoutCallback(const Name &interest) _OVERRIDE;
+ virtual Closure *
+ dup() const _OVERRIDE;
+
private:
CcnxTunnel *m_tunnel;
Name m_originalInterest;
diff --git a/include/ccnx-wrapper.h b/include/ccnx-wrapper.h
index 12a5bc7..32999a3 100644
--- a/include/ccnx-wrapper.h
+++ b/include/ccnx-wrapper.h
@@ -37,7 +37,7 @@
clearInterestFilter (const Name &prefix);
virtual int
- sendInterest (const Name &interest, Closure *closure, const Selectors &selector = Selectors());
+ sendInterest (const Name &interest, const Closure *closure, const Selectors &selector = Selectors());
virtual int
publishData (const Name &name, const unsigned char *buf, size_t len, int freshness);