diff options
author | Aleksi Lindeman <dec05eba@protonmail.com> | 2018-12-19 23:04:50 +0100 |
---|---|---|
committer | Aleksi Lindeman <dec05eba@protonmail.com> | 2018-12-19 23:04:54 +0100 |
commit | 860ba7d92731fe64186521ca442a8c7e657e97e1 (patch) | |
tree | e9f34df14d26f5c18f4faa67bafcb229a3a43329 /src/DirectConnection.cpp | |
parent | e3373366bb81c57cdc3ec96c6936b6c9df535bb2 (diff) |
Add option to force route data
Diffstat (limited to 'src/DirectConnection.cpp')
-rw-r--r-- | src/DirectConnection.cpp | 5 |
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) { |