diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-07-30 15:31:36 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-07-30 15:41:17 +0200 |
commit | c91a9471be7a96311a7e1452a3624aa557bc185d (patch) | |
tree | c95261b710c16db57073975196de5cdd33d647be | |
parent | 60dc8e4208058814494b301c355a5996af9517a9 (diff) |
Add IsReachable(net) function
Allows other parts of the program to query for reachable
status of a network. Similar to IsLimited(net).
-rw-r--r-- | src/net.cpp | 10 | ||||
-rw-r--r-- | src/net.h | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/net.cpp b/src/net.cpp index 62124514c8..27f71e45dc 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -307,12 +307,18 @@ bool IsLocal(const CService& addr) return mapLocalHost.count(addr) > 0; } +/** check whether a given network is one we can probably connect to */ +bool IsReachable(enum Network net) +{ + LOCK(cs_mapLocalHost); + return vfReachable[net] && !vfLimited[net]; +} + /** check whether a given address is in a network we can probably connect to */ bool IsReachable(const CNetAddr& addr) { - LOCK(cs_mapLocalHost); enum Network net = addr.GetNetwork(); - return vfReachable[net] && !vfLimited[net]; + return IsReachable(net); } bool GetMyExternalIP2(const CService& addrConnect, const char* pszGet, const char* pszKeyword, CNetAddr& ipRet) @@ -106,6 +106,7 @@ bool AddLocal(const CNetAddr& addr, int nScore = LOCAL_NONE); bool SeenLocal(const CService& addr); bool IsLocal(const CService& addr); bool GetLocal(CService &addr, const CNetAddr *paddrPeer = NULL); +bool IsReachable(enum Network net); bool IsReachable(const CNetAddr &addr); void SetReachable(enum Network net, bool fFlag = true); CAddress GetLocalAddress(const CNetAddr *paddrPeer = NULL); |