Skip to content
Snippets Groups Projects
Commit fc3686d8 authored by Seva's avatar Seva
Browse files

dhtproxy: comment/remove restbed leftovers to build w/o

parent a692f7fb
No related branches found
No related tags found
No related merge requests found
...@@ -109,9 +109,6 @@ endif () ...@@ -109,9 +109,6 @@ endif ()
if (Restinio_INCLUDE_DIR) if (Restinio_INCLUDE_DIR)
include_directories (SYSTEM "${Restinio_INCLUDE_DIR}") include_directories (SYSTEM "${Restinio_INCLUDE_DIR}")
endif () endif ()
if (Restbed_INCLUDE_DIR)
include_directories (SYSTEM "${Restbed_INCLUDE_DIR}")
endif ()
if (Jsoncpp_INCLUDE_DIRS) if (Jsoncpp_INCLUDE_DIRS)
include_directories (SYSTEM "${Jsoncpp_INCLUDE_DIRS}") include_directories (SYSTEM "${Jsoncpp_INCLUDE_DIRS}")
endif () endif ()
...@@ -266,7 +263,7 @@ if (OPENDHT_STATIC) ...@@ -266,7 +263,7 @@ if (OPENDHT_STATIC)
target_include_directories(opendht-static SYSTEM PRIVATE ${argon2_INCLUDE_DIRS}) target_include_directories(opendht-static SYSTEM PRIVATE ${argon2_INCLUDE_DIRS})
endif () endif ()
target_link_libraries(opendht-static target_link_libraries(opendht-static
PRIVATE ${Restbed_LIBRARY} ${argon2_LIBRARIES} PRIVATE ${argon2_LIBRARIES}
PUBLIC ${CMAKE_THREAD_LIBS_INIT} ${GNUTLS_LIBRARIES} ${Nettle_LIBRARIES} PUBLIC ${CMAKE_THREAD_LIBS_INIT} ${GNUTLS_LIBRARIES} ${Nettle_LIBRARIES}
${Jsoncpp_LIBRARIES} ${FMT_LIBRARY} ${HTTP_PARSER_LIBRARY}) ${Jsoncpp_LIBRARIES} ${FMT_LIBRARY} ${HTTP_PARSER_LIBRARY})
install (TARGETS opendht-static DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT opendht) install (TARGETS opendht-static DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT opendht)
...@@ -288,7 +285,7 @@ if (OPENDHT_SHARED) ...@@ -288,7 +285,7 @@ if (OPENDHT_SHARED)
endif () endif ()
target_link_libraries(opendht target_link_libraries(opendht
PRIVATE ${CMAKE_THREAD_LIBS_INIT} ${GNUTLS_LIBRARIES} ${Nettle_LIBRARIES} PRIVATE ${CMAKE_THREAD_LIBS_INIT} ${GNUTLS_LIBRARIES} ${Nettle_LIBRARIES}
${Restbed_LIBRARY} ${Jsoncpp_LIBRARIES} ${Jsoncpp_LIBRARIES}
${FMT_LIBRARY} ${HTTP_PARSER_LIBRARY}) ${FMT_LIBRARY} ${HTTP_PARSER_LIBRARY})
install (TARGETS opendht DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT opendht) install (TARGETS opendht DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT opendht)
......
if(NOT Restbed_FOUND)
find_path (Restbed_INCLUDE_DIR restbed
HINTS
"/usr/include"
"/usr/local/include"
"/opt/local/include")
find_library(Restbed_LIBRARY restbed
HINTS ${Restbed_ROOT_DIR} PATH_SUFFIXES lib)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Restbed DEFAULT_MSG Restbed_LIBRARY Restbed_INCLUDE_DIR)
if (Restbed_INCLUDE_DIR)
set(Restbed_FOUND TRUE)
set(Restbed_LIBRARIES ${Restbed_LIBRARY})
set(Restbed_INCLUDE_DIRS ${Restbed_INCLUDE_DIR})
endif()
endif()
...@@ -142,8 +142,8 @@ AS_IF([test "x$have_jsoncpp" = "xyes"], [ ...@@ -142,8 +142,8 @@ AS_IF([test "x$have_jsoncpp" = "xyes"], [
]) ])
AM_COND_IF([PROXY_CLIENT_OR_SERVER], [ AM_COND_IF([PROXY_CLIENT_OR_SERVER], [
AC_CHECK_LIB(restbed, exit,, AC_MSG_ERROR([Missing restbed files])) #AC_CHECK_LIB(<libname>, exit,, AC_MSG_ERROR([Missing <libname> files]))
LDFLAGS="${LDFLAGS} -lrestbed" #LDFLAGS="${LDFLAGS} -l<libname>"
]) ])
CXXFLAGS="${CXXFLAGS} -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT" CXXFLAGS="${CXXFLAGS} -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT"
......
...@@ -2,13 +2,6 @@ FROM ubuntu:16.04 ...@@ -2,13 +2,6 @@ FROM ubuntu:16.04
MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com> MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com>
RUN apt-get update && apt-get install -y build-essential cmake git wget libncurses5-dev libreadline-dev nettle-dev libgnutls28-dev libuv1-dev cython3 python3-dev libcppunit-dev libjsoncpp-dev libasio-dev libssl-dev python3-setuptools && apt-get clean RUN apt-get update && apt-get install -y build-essential cmake git wget libncurses5-dev libreadline-dev nettle-dev libgnutls28-dev libuv1-dev cython3 python3-dev libcppunit-dev libjsoncpp-dev libasio-dev libssl-dev python3-setuptools && apt-get clean
# build restbed from sources
RUN git clone --recursive https://github.com/corvusoft/restbed.git \
&& cd restbed && mkdir build && cd build \
&& cmake -DBUILD_TESTS=NO -DBUILD_EXAMPLES=NO -DBUILD_SSL=NO -DBUILD_SHARED=YES -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib .. \
&& make -j8 install \
&& cd .. && rm -rf restbed
#build msgpack from source #build msgpack from source
RUN wget https://github.com/msgpack/msgpack-c/releases/download/cpp-2.1.5/msgpack-2.1.5.tar.gz \ RUN wget https://github.com/msgpack/msgpack-c/releases/download/cpp-2.1.5/msgpack-2.1.5.tar.gz \
&& tar -xzf msgpack-2.1.5.tar.gz \ && tar -xzf msgpack-2.1.5.tar.gz \
......
...@@ -40,13 +40,13 @@ struct DhtProxyClient::Listener ...@@ -40,13 +40,13 @@ struct DhtProxyClient::Listener
OpValueCache cache; OpValueCache cache;
ValueCallback cb; ValueCallback cb;
Value::Filter filter; Value::Filter filter;
Sp<restbed::Request> req; //Sp<restbed::Request> req;
std::thread thread; std::thread thread;
unsigned callbackId; unsigned callbackId;
Sp<ListenState> state; Sp<ListenState> state;
Sp<Scheduler::Job> refreshJob; Sp<Scheduler::Job> refreshJob;
Listener(OpValueCache&& c, const Sp<restbed::Request>& r, Value::Filter&& f) Listener(OpValueCache&& c, /*const Sp<restbed::Request>& r*/ Value::Filter&& f)
: cache(std::move(c)), filter(std::move(f)),req(r) {} : cache(std::move(c)), filter(std::move(f))/*,req(r)*/ {}
}; };
struct PermanentPut { struct PermanentPut {
...@@ -149,6 +149,7 @@ DhtProxyClient::cancelAllListeners() ...@@ -149,6 +149,7 @@ DhtProxyClient::cancelAllListeners()
{ {
std::lock_guard<std::mutex> lock(searchLock_); std::lock_guard<std::mutex> lock(searchLock_);
DHT_LOG.w("Cancelling all listeners for %zu searches", searches_.size()); DHT_LOG.w("Cancelling all listeners for %zu searches", searches_.size());
/*
for (auto& s: searches_) { for (auto& s: searches_) {
s.second.ops.cancelAll([&](size_t token){ s.second.ops.cancelAll([&](size_t token){
auto l = s.second.listeners.find(token); auto l = s.second.listeners.find(token);
...@@ -159,7 +160,7 @@ DhtProxyClient::cancelAllListeners() ...@@ -159,7 +160,7 @@ DhtProxyClient::cancelAllListeners()
l->second.state->cancel = true; l->second.state->cancel = true;
if (l->second.req) { if (l->second.req) {
try { try {
restbed::Http::close(l->second.req); //restbed::Http::close(l->second.req);
} catch (const std::exception& e) { } catch (const std::exception& e) {
DHT_LOG.w("Error closing socket: %s", e.what()); DHT_LOG.w("Error closing socket: %s", e.what());
} }
...@@ -170,6 +171,7 @@ DhtProxyClient::cancelAllListeners() ...@@ -170,6 +171,7 @@ DhtProxyClient::cancelAllListeners()
s.second.listeners.erase(token); s.second.listeners.erase(token);
}); });
} }
*/
} }
void void
...@@ -505,6 +507,7 @@ DhtProxyClient::getProxyInfos() ...@@ -505,6 +507,7 @@ DhtProxyClient::getProxyInfos()
} }
statusThread_ = std::thread([this, serverHost, infoState]{ statusThread_ = std::thread([this, serverHost, infoState]{
try { try {
/*
auto endpointStr = serverHost; auto endpointStr = serverHost;
auto protocol = std::string(proxy::HTTP_PROTO); auto protocol = std::string(proxy::HTTP_PROTO);
auto protocolIdx = serverHost.find("://"); auto protocolIdx = serverHost.find("://");
...@@ -560,6 +563,7 @@ DhtProxyClient::getProxyInfos() ...@@ -560,6 +563,7 @@ DhtProxyClient::getProxyInfos()
for (auto& r : reqs) for (auto& r : reqs)
r.get(); r.get();
reqs.clear(); reqs.clear();
*/
} catch (const std::exception& e) { } catch (const std::exception& e) {
DHT_LOG.e("Error sending proxy info request: %s", e.what()); DHT_LOG.e("Error sending proxy info request: %s", e.what());
} }
...@@ -833,6 +837,7 @@ DhtProxyClient::doCancelListen(const InfoHash& key, size_t ltoken) ...@@ -833,6 +837,7 @@ DhtProxyClient::doCancelListen(const InfoHash& key, size_t ltoken)
listener.state->cancel = true; listener.state->cancel = true;
if (not deviceKey_.empty()) { if (not deviceKey_.empty()) {
// First, be sure to have a token // First, be sure to have a token
/*
if (listener.thread.joinable()) { if (listener.thread.joinable()) {
listener.thread.join(); listener.thread.join();
} }
...@@ -856,7 +861,9 @@ DhtProxyClient::doCancelListen(const InfoHash& key, size_t ltoken) ...@@ -856,7 +861,9 @@ DhtProxyClient::doCancelListen(const InfoHash& key, size_t ltoken)
} catch (const std::exception& e) { } catch (const std::exception& e) {
DHT_LOG.w(key, "[search %s] cancelListen: Http::async failed: %s", key.to_c_str(), e.what()); DHT_LOG.w(key, "[search %s] cancelListen: Http::async failed: %s", key.to_c_str(), e.what());
} }
*/
} else { } else {
/*
// Just stop the request // Just stop the request
if (listener.thread.joinable()) { if (listener.thread.joinable()) {
// Close connection to stop listener // Close connection to stop listener
...@@ -870,6 +877,7 @@ DhtProxyClient::doCancelListen(const InfoHash& key, size_t ltoken) ...@@ -870,6 +877,7 @@ DhtProxyClient::doCancelListen(const InfoHash& key, size_t ltoken)
} }
listener.thread.join(); listener.thread.join();
} }
*/
} }
search->second.listeners.erase(it); search->second.listeners.erase(it);
DHT_LOG.d(key, "[search %s] cancelListen: %zu listener remaining", key.to_c_str(), search->second.listeners.size()); DHT_LOG.d(key, "[search %s] cancelListen: %zu listener remaining", key.to_c_str(), search->second.listeners.size());
...@@ -932,16 +940,19 @@ DhtProxyClient::restartListeners() ...@@ -932,16 +940,19 @@ DhtProxyClient::restartListeners()
auto& listener = l.second; auto& listener = l.second;
if (auto state = listener.state) if (auto state = listener.state)
state->cancel = true; state->cancel = true;
/*
if (listener.req) { if (listener.req) {
try { try {
restbed::Http::close(listener.req); //restbed::Http::close(listener.req);
} catch (const std::exception& e) { } catch (const std::exception& e) {
DHT_LOG.w("Error closing socket: %s", e.what()); DHT_LOG.w("Error closing socket: %s", e.what());
} }
listener.req.reset(); listener.req.reset();
} }
*/
} }
} }
/*
for (auto& search: searches_) { for (auto& search: searches_) {
for (auto& l: search.second.listeners) { for (auto& l: search.second.listeners) {
auto& listener = l.second; auto& listener = l.second;
...@@ -963,6 +974,7 @@ DhtProxyClient::restartListeners() ...@@ -963,6 +974,7 @@ DhtProxyClient::restartListeners()
}); });
} }
} }
*/
} }
void void
...@@ -1057,12 +1069,13 @@ DhtProxyClient::resubscribe(const InfoHash& key, Listener& listener) ...@@ -1057,12 +1069,13 @@ DhtProxyClient::resubscribe(const InfoHash& key, Listener& listener)
scheduler.syncTime(); scheduler.syncTime();
DHT_LOG.d(key, "[search %s] resubscribe push listener", key.to_c_str()); DHT_LOG.d(key, "[search %s] resubscribe push listener", key.to_c_str());
// Subscribe // Subscribe
/*
auto state = listener.state; auto state = listener.state;
if (listener.thread.joinable()) { if (listener.thread.joinable()) {
state->cancel = true; state->cancel = true;
if (listener.req) { if (listener.req) {
try { try {
restbed::Http::close(listener.req); //restbed::Http::close(listener.req);
} catch (const std::exception& e) { } catch (const std::exception& e) {
DHT_LOG.w("Error closing socket: %s", e.what()); DHT_LOG.w("Error closing socket: %s", e.what());
} }
...@@ -1072,6 +1085,7 @@ DhtProxyClient::resubscribe(const InfoHash& key, Listener& listener) ...@@ -1072,6 +1085,7 @@ DhtProxyClient::resubscribe(const InfoHash& key, Listener& listener)
} }
state->cancel = false; state->cancel = false;
state->ok = true; state->ok = true;
auto req = std::make_shared<restbed::Request>(restbed::Uri {serverHost_ + "/" + key.toString()}); auto req = std::make_shared<restbed::Request>(restbed::Uri {serverHost_ + "/" + key.toString()});
req->set_method("SUBSCRIBE"); req->set_method("SUBSCRIBE");
listener.req = req; listener.req = req;
...@@ -1081,6 +1095,7 @@ DhtProxyClient::resubscribe(const InfoHash& key, Listener& listener) ...@@ -1081,6 +1095,7 @@ DhtProxyClient::resubscribe(const InfoHash& key, Listener& listener)
listener.thread = std::thread([this, req, vcb, filter, state]() { listener.thread = std::thread([this, req, vcb, filter, state]() {
//sendListen(req, vcb, filter, state, ListenMethod::RESUBSCRIBE); //sendListen(req, vcb, filter, state, ListenMethod::RESUBSCRIBE);
}); });
*/
#else #else
(void) key; (void) key;
(void) listener; (void) listener;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment