mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 21:37:17 +01:00
drop i2lua
Signed-off-by: R4SAS <r4sas@i2pmail.org>
This commit is contained in:
parent
d503f07564
commit
a9436aa9af
|
@ -19,7 +19,6 @@ option(WITH_GUI "Include GUI (currently MS Windows only)" ON)
|
||||||
option(WITH_MESHNET "Build for cjdns test network" OFF)
|
option(WITH_MESHNET "Build for cjdns test network" OFF)
|
||||||
option(WITH_ADDRSANITIZER "Build with address sanitizer unix only" OFF)
|
option(WITH_ADDRSANITIZER "Build with address sanitizer unix only" OFF)
|
||||||
option(WITH_THREADSANITIZER "Build with thread sanitizer unix only" OFF)
|
option(WITH_THREADSANITIZER "Build with thread sanitizer unix only" OFF)
|
||||||
option(WITH_I2LUA "Build for i2lua" OFF)
|
|
||||||
|
|
||||||
# paths
|
# paths
|
||||||
set ( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" )
|
set ( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" )
|
||||||
|
@ -88,10 +87,6 @@ if (WIN32 OR MSYS)
|
||||||
list (APPEND LIBI2PD_SRC "${CMAKE_SOURCE_DIR}/I2PEndian.cpp")
|
list (APPEND LIBI2PD_SRC "${CMAKE_SOURCE_DIR}/I2PEndian.cpp")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (WITH_I2LUA)
|
|
||||||
add_definitions(-DI2LUA)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library(libi2pd ${LIBI2PD_SRC})
|
add_library(libi2pd ${LIBI2PD_SRC})
|
||||||
set_target_properties(libi2pd PROPERTIES PREFIX "")
|
set_target_properties(libi2pd PROPERTIES PREFIX "")
|
||||||
|
|
||||||
|
@ -414,7 +409,6 @@ message(STATUS " PCH : ${WITH_PCH}")
|
||||||
message(STATUS " MESHNET : ${WITH_MESHNET}")
|
message(STATUS " MESHNET : ${WITH_MESHNET}")
|
||||||
message(STATUS " ADDRSANITIZER : ${WITH_ADDRSANITIZER}")
|
message(STATUS " ADDRSANITIZER : ${WITH_ADDRSANITIZER}")
|
||||||
message(STATUS " THREADSANITIZER : ${WITH_THREADSANITIZER}")
|
message(STATUS " THREADSANITIZER : ${WITH_THREADSANITIZER}")
|
||||||
message(STATUS " I2LUA : ${WITH_I2LUA}")
|
|
||||||
message(STATUS "---------------------------------------")
|
message(STATUS "---------------------------------------")
|
||||||
|
|
||||||
#Handle paths nicely
|
#Handle paths nicely
|
||||||
|
|
|
@ -931,32 +931,6 @@ namespace client
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef I2LUA
|
|
||||||
void ClientDestination::Ready(ReadyPromise & p)
|
|
||||||
{
|
|
||||||
ScheduleCheckForReady(&p);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClientDestination::ScheduleCheckForReady(ReadyPromise * p)
|
|
||||||
{
|
|
||||||
// tick every 100ms
|
|
||||||
m_ReadyChecker.expires_from_now(boost::posix_time::milliseconds(100));
|
|
||||||
m_ReadyChecker.async_wait([&, p] (const boost::system::error_code & ecode) {
|
|
||||||
HandleCheckForReady(ecode, p);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClientDestination::HandleCheckForReady(const boost::system::error_code & ecode, ReadyPromise * p)
|
|
||||||
{
|
|
||||||
if(ecode) // error happened
|
|
||||||
p->set_value(nullptr);
|
|
||||||
else if(IsReady()) // we are ready
|
|
||||||
p->set_value(std::shared_ptr<ClientDestination>(this));
|
|
||||||
else // we are not ready
|
|
||||||
ScheduleCheckForReady(p);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void ClientDestination::HandleDataMessage (const uint8_t * buf, size_t len)
|
void ClientDestination::HandleDataMessage (const uint8_t * buf, size_t len)
|
||||||
{
|
{
|
||||||
uint32_t length = bufbe32toh (buf);
|
uint32_t length = bufbe32toh (buf);
|
||||||
|
|
|
@ -8,9 +8,6 @@
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#ifdef I2LUA
|
|
||||||
#include <future>
|
|
||||||
#endif
|
|
||||||
#include <boost/asio.hpp>
|
#include <boost/asio.hpp>
|
||||||
#include "Identity.h"
|
#include "Identity.h"
|
||||||
#include "TunnelPool.h"
|
#include "TunnelPool.h"
|
||||||
|
@ -196,13 +193,6 @@ namespace client
|
||||||
class ClientDestination: public LeaseSetDestination
|
class ClientDestination: public LeaseSetDestination
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
#ifdef I2LUA
|
|
||||||
// type for informing that a client destination is ready
|
|
||||||
typedef std::promise<std::shared_ptr<ClientDestination> > ReadyPromise;
|
|
||||||
// informs promise with shared_from_this() when this destination is ready to use
|
|
||||||
// if cancelled before ready, informs promise with nullptr
|
|
||||||
void Ready(ReadyPromise & p);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ClientDestination (boost::asio::io_service& service, const i2p::data::PrivateKeys& keys,
|
ClientDestination (boost::asio::io_service& service, const i2p::data::PrivateKeys& keys,
|
||||||
bool isPublic, const std::map<std::string, std::string> * params = nullptr);
|
bool isPublic, const std::map<std::string, std::string> * params = nullptr);
|
||||||
|
@ -251,14 +241,10 @@ namespace client
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
std::shared_ptr<ClientDestination> GetSharedFromThis ()
|
std::shared_ptr<ClientDestination> GetSharedFromThis () {
|
||||||
{ return std::static_pointer_cast<ClientDestination>(shared_from_this ()); }
|
return std::static_pointer_cast<ClientDestination>(shared_from_this ());
|
||||||
|
}
|
||||||
void PersistTemporaryKeys ();
|
void PersistTemporaryKeys ();
|
||||||
#ifdef I2LUA
|
|
||||||
void ScheduleCheckForReady(ReadyPromise * p);
|
|
||||||
void HandleCheckForReady(const boost::system::error_code & ecode, ReadyPromise * p);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void ReadAuthKey (const std::string& group, const std::map<std::string, std::string> * params);
|
void ReadAuthKey (const std::string& group, const std::map<std::string, std::string> * params);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -576,7 +576,6 @@ namespace tunnel
|
||||||
for (auto it = pendingTunnels.begin (); it != pendingTunnels.end ();)
|
for (auto it = pendingTunnels.begin (); it != pendingTunnels.end ();)
|
||||||
{
|
{
|
||||||
auto tunnel = it->second;
|
auto tunnel = it->second;
|
||||||
auto pool = tunnel->GetTunnelPool();
|
|
||||||
switch (tunnel->GetState ())
|
switch (tunnel->GetState ())
|
||||||
{
|
{
|
||||||
case eTunnelStatePending:
|
case eTunnelStatePending:
|
||||||
|
@ -599,8 +598,6 @@ namespace tunnel
|
||||||
hop = hop->next;
|
hop = hop->next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// for i2lua
|
|
||||||
if(pool) pool->OnTunnelBuildResult(tunnel, eBuildResultTimeout);
|
|
||||||
// delete
|
// delete
|
||||||
it = pendingTunnels.erase (it);
|
it = pendingTunnels.erase (it);
|
||||||
m_NumFailedTunnelCreations++;
|
m_NumFailedTunnelCreations++;
|
||||||
|
@ -610,9 +607,6 @@ namespace tunnel
|
||||||
break;
|
break;
|
||||||
case eTunnelStateBuildFailed:
|
case eTunnelStateBuildFailed:
|
||||||
LogPrint (eLogDebug, "Tunnel: pending build request ", it->first, " failed, deleted");
|
LogPrint (eLogDebug, "Tunnel: pending build request ", it->first, " failed, deleted");
|
||||||
// for i2lua
|
|
||||||
if(pool) pool->OnTunnelBuildResult(tunnel, eBuildResultRejected);
|
|
||||||
|
|
||||||
it = pendingTunnels.erase (it);
|
it = pendingTunnels.erase (it);
|
||||||
m_NumFailedTunnelCreations++;
|
m_NumFailedTunnelCreations++;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -88,8 +88,6 @@ namespace tunnel
|
||||||
}
|
}
|
||||||
if (m_LocalDestination)
|
if (m_LocalDestination)
|
||||||
m_LocalDestination->SetLeaseSetUpdated ();
|
m_LocalDestination->SetLeaseSetUpdated ();
|
||||||
|
|
||||||
OnTunnelBuildResult(createdTunnel, eBuildResultOkay);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TunnelPool::TunnelExpired (std::shared_ptr<InboundTunnel> expiredTunnel)
|
void TunnelPool::TunnelExpired (std::shared_ptr<InboundTunnel> expiredTunnel)
|
||||||
|
@ -112,8 +110,6 @@ namespace tunnel
|
||||||
std::unique_lock<std::mutex> l(m_OutboundTunnelsMutex);
|
std::unique_lock<std::mutex> l(m_OutboundTunnelsMutex);
|
||||||
m_OutboundTunnels.insert (createdTunnel);
|
m_OutboundTunnels.insert (createdTunnel);
|
||||||
}
|
}
|
||||||
OnTunnelBuildResult(createdTunnel, eBuildResultOkay);
|
|
||||||
|
|
||||||
//CreatePairedInboundTunnel (createdTunnel);
|
//CreatePairedInboundTunnel (createdTunnel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -596,11 +592,5 @@ namespace tunnel
|
||||||
}
|
}
|
||||||
return tun;
|
return tun;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TunnelPool::OnTunnelBuildResult(std::shared_ptr<Tunnel> tunnel, TunnelBuildResult result)
|
|
||||||
{
|
|
||||||
auto peers = tunnel->GetPeers();
|
|
||||||
if(m_CustomPeerSelector) m_CustomPeerSelector->OnBuildResult(peers, tunnel->IsInbound(), result);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,13 +23,6 @@ namespace tunnel
|
||||||
class InboundTunnel;
|
class InboundTunnel;
|
||||||
class OutboundTunnel;
|
class OutboundTunnel;
|
||||||
|
|
||||||
|
|
||||||
enum TunnelBuildResult {
|
|
||||||
eBuildResultOkay, // tunnel was built okay
|
|
||||||
eBuildResultRejected, // tunnel build was explicitly rejected
|
|
||||||
eBuildResultTimeout // tunnel build timed out
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef std::shared_ptr<const i2p::data::IdentityEx> Peer;
|
typedef std::shared_ptr<const i2p::data::IdentityEx> Peer;
|
||||||
typedef std::vector<Peer> Path;
|
typedef std::vector<Peer> Path;
|
||||||
|
|
||||||
|
@ -38,7 +31,6 @@ namespace tunnel
|
||||||
{
|
{
|
||||||
virtual ~ITunnelPeerSelector() {};
|
virtual ~ITunnelPeerSelector() {};
|
||||||
virtual bool SelectPeers(Path & peers, int hops, bool isInbound) = 0;
|
virtual bool SelectPeers(Path & peers, int hops, bool isInbound) = 0;
|
||||||
virtual bool OnBuildResult(const Path & peers, bool isInbound, TunnelBuildResult result) = 0;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -98,8 +90,6 @@ namespace tunnel
|
||||||
std::shared_ptr<InboundTunnel> GetLowestLatencyInboundTunnel(std::shared_ptr<InboundTunnel> exclude=nullptr) const;
|
std::shared_ptr<InboundTunnel> GetLowestLatencyInboundTunnel(std::shared_ptr<InboundTunnel> exclude=nullptr) const;
|
||||||
std::shared_ptr<OutboundTunnel> GetLowestLatencyOutboundTunnel(std::shared_ptr<OutboundTunnel> exclude=nullptr) const;
|
std::shared_ptr<OutboundTunnel> GetLowestLatencyOutboundTunnel(std::shared_ptr<OutboundTunnel> exclude=nullptr) const;
|
||||||
|
|
||||||
void OnTunnelBuildResult(std::shared_ptr<Tunnel> tunnel, TunnelBuildResult result);
|
|
||||||
|
|
||||||
// for overriding tunnel peer selection
|
// for overriding tunnel peer selection
|
||||||
std::shared_ptr<const i2p::data::RouterInfo> SelectNextHop (std::shared_ptr<const i2p::data::RouterInfo> prevHop) const;
|
std::shared_ptr<const i2p::data::RouterInfo> SelectNextHop (std::shared_ptr<const i2p::data::RouterInfo> prevHop) const;
|
||||||
|
|
||||||
|
|
|
@ -94,10 +94,5 @@ namespace client
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MatchedTunnelDestination::OnBuildResult(const i2p::tunnel::Path & path, bool inbound, i2p::tunnel::TunnelBuildResult result)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ namespace client
|
||||||
void Stop();
|
void Stop();
|
||||||
|
|
||||||
bool SelectPeers(i2p::tunnel::Path & peers, int hops, bool inbound);
|
bool SelectPeers(i2p::tunnel::Path & peers, int hops, bool inbound);
|
||||||
bool OnBuildResult(const i2p::tunnel::Path & peers, bool inbound, i2p::tunnel::TunnelBuildResult result);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void ResolveCurrentLeaseSet();
|
void ResolveCurrentLeaseSet();
|
||||||
|
|
Loading…
Reference in a new issue