aboutsummaryrefslogtreecommitdiff
path: root/src/DirectConnection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DirectConnection.cpp')
-rw-r--r--src/DirectConnection.cpp32
1 files changed, 1 insertions, 31 deletions
diff --git a/src/DirectConnection.cpp b/src/DirectConnection.cpp
index c19fa63..4a2c829 100644
--- a/src/DirectConnection.cpp
+++ b/src/DirectConnection.cpp
@@ -75,43 +75,13 @@ namespace sibs
void DirectConnections::connectServer(const Ipv4 &address, PubSubConnectCallback connectCallbackFunc, PubSubReceiveDataCallback receiveDataCallbackFunc)
{
- connect(address, true, true, connectCallbackFunc, receiveDataCallbackFunc, true);
+ connect(address, false, true, connectCallbackFunc, receiveDataCallbackFunc, true);
}
void DirectConnections::connect(const Ipv4 &address, PubSubConnectCallback connectCallbackFunc, PubSubReceiveDataCallback receiveDataCallbackFunc)
{
connect(address, true, true, connectCallbackFunc, receiveDataCallbackFunc, true);
}
-
- void DirectConnections::connect(const Ipv4 &address, std::shared_ptr<DirectConnectionPeer> serverPeer, PubSubConnectCallback connectCallbackFunc, PubSubReceiveDataCallback receiveDataCallbackFunc)
- {
- std::thread([this, address, connectCallbackFunc, receiveDataCallbackFunc, serverPeer]()
- {
- if(UDT::bind(serverPeer->socket, (sockaddr*)&address.address, sizeof(address.address)) == UDT::ERROR)
- {
- std::string errMsg = "UDT: Failed to bind, error: ";
- errMsg += UDT::getlasterror_desc();
- throw SocketCreateException(errMsg);
- }
-
- Log::debug("DirectConnections: Connecting to peer (ip: %s, port: %d, rendezvous: yes)", address.getAddress().c_str(), address.getPort());
- if(UDT::connect(serverPeer->socket, (sockaddr*)&address.address, sizeof(address.address)) == UDT::ERROR)
- {
- if(connectCallbackFunc)
- connectCallbackFunc(serverPeer, PubSubResult::ERROR, UDT::getlasterror_desc());
- return;
- }
-
- serverPeer->address = address;
- serverPeer->receiveDataCallbackFunc = receiveDataCallbackFunc;
- peersMutex.lock();
- peers[serverPeer->socket] = serverPeer;
- peersMutex.unlock();
-
- if(connectCallbackFunc)
- connectCallbackFunc(serverPeer, PubSubResult::OK, "");
- }).detach();
- }
void DirectConnections::connect(const Ipv4 &address, bool rendezvous, bool reuseAddr, PubSubConnectCallback connectCallbackFunc, PubSubReceiveDataCallback receiveDataCallbackFunc, bool bind)
{