aboutsummaryrefslogtreecommitdiff
path: root/src/net.h
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2016-04-16 15:46:00 -0400
committerCory Fields <cory-nospam-@coryfields.com>2016-09-08 12:06:24 -0400
commit02137f11e2ea5d153f433493639730587836a1e3 (patch)
tree9d46cc20dbc21c6220adb1f62fe1485ae7f724f1 /src/net.h
parent5b446dd5b11d4f403554bc2dd5a7a94c7d20422a (diff)
downloadbitcoin-02137f11e2ea5d153f433493639730587836a1e3.tar.xz
net: Move socket binding into CConnman
Diffstat (limited to 'src/net.h')
-rw-r--r--src/net.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/net.h b/src/net.h
index d2a38e7dc4..4d87408e32 100644
--- a/src/net.h
+++ b/src/net.h
@@ -95,13 +95,6 @@ CNode* FindNode(const CService& ip);
CNode* FindNode(const NodeId id); //TODO: Remove this
bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = NULL, const char *strDest = NULL, bool fOneShot = false, bool fFeeler = false);
-struct ListenSocket {
- SOCKET socket;
- bool whitelisted;
-
- ListenSocket(SOCKET socket_, bool whitelisted_) : socket(socket_), whitelisted(whitelisted_) {}
-};
-
class CConnman
{
public:
@@ -109,7 +102,16 @@ public:
~CConnman();
bool Start(boost::thread_group& threadGroup, std::string& strNodeError);
void Stop();
+ bool BindListenPort(const CService &bindAddr, std::string& strError, bool fWhitelisted = false);
+
private:
+ struct ListenSocket {
+ SOCKET socket;
+ bool whitelisted;
+
+ ListenSocket(SOCKET socket_, bool whitelisted_) : socket(socket_), whitelisted(whitelisted_) {}
+ };
+
void ThreadOpenAddedConnections();
void ProcessOneShot();
void ThreadOpenConnections();
@@ -117,6 +119,8 @@ private:
void AcceptConnection(const ListenSocket& hListenSocket);
void ThreadSocketHandler();
void ThreadDNSAddressSeed();
+
+ std::vector<ListenSocket> vhListenSocket;
};
extern std::unique_ptr<CConnman> g_connman;
void MapPort(bool fUseUPnP);