aboutsummaryrefslogtreecommitdiff
path: root/src/DirectConnection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DirectConnection.cpp')
-rw-r--r--src/DirectConnection.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/DirectConnection.cpp b/src/DirectConnection.cpp
index ab58a48..6869d05 100644
--- a/src/DirectConnection.cpp
+++ b/src/DirectConnection.cpp
@@ -41,10 +41,11 @@ namespace sibs
return !(*this == other);
}
- DirectConnections::DirectConnections(u16 _port) :
+ DirectConnections::DirectConnections(u16 _port, const ConnectionOptions &_options) :
port(_port == 0 ? (u16)generateRandomNumber(2000, 32000) : _port),
alive(true),
removeDisconnectedPeerCallback(nullptr),
+ options(_options),
upnpDevList(nullptr)
{
UDT::startup();
@@ -300,7 +301,7 @@ namespace sibs
int socketId = socket->udtSocket;
Log::debug("DirectConnections: Connecting to %s peer (ip: %s, port: %d, rendezvous: %s)", server ? "server" : "client", address.getAddress().c_str(), address.getPort(), rendezvous ? "yes" : "no");
- if(UDT::connect(socketId, (sockaddr*)&address.address, sizeof(address.address)) == UDT::ERROR)
+ if((!server && !options.useP2p) || UDT::connect(socketId, (sockaddr*)&address.address, sizeof(address.address)) == UDT::ERROR)
{
if(!server)
{