X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fconnection.cpp;h=b07e0de906124fad5c9400f7070e31f44640b000;hb=9a22d02903549c09f059b12f0ec06ea12a19abbb;hp=0bc8492e6d482b34616bce20ed2e0aeba31b92ab;hpb=a26c92d7dda327f2b1483fe7250cb27580a0a039;p=dragonfireclient.git diff --git a/src/connection.cpp b/src/connection.cpp index 0bc8492e6..b07e0de90 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -497,7 +497,7 @@ Connection::Connection( m_protocol_id = protocol_id; m_max_packet_size = max_packet_size; m_timeout = timeout; - m_peer_id = PEER_ID_NEW; + m_peer_id = PEER_ID_INEXISTENT; //m_waiting_new_peer_id = false; m_indentation = 0; m_peerhandler = peerhandler; @@ -534,8 +534,8 @@ void Connection::Connect(Address address) m_socket.Bind(0); - // Send a dummy packet to server with peer_id = PEER_ID_NEW - m_peer_id = PEER_ID_NEW; + // Send a dummy packet to server with peer_id = PEER_ID_INEXISTENT + m_peer_id = PEER_ID_INEXISTENT; SharedBuffer data(0); Send(PEER_ID_SERVER, 0, data, true); @@ -568,7 +568,7 @@ bool Connection::Connected() if(node == NULL) return false; - if(m_peer_id == PEER_ID_NEW) + if(m_peer_id == PEER_ID_INEXISTENT) return false; return true; @@ -643,7 +643,7 @@ SharedBuffer Channel::ProcessPacket( con->PrintInfo(); dout_con<<"Got new peer id: "<GetPeerID() != PEER_ID_NEW) + if(con->GetPeerID() != PEER_ID_INEXISTENT) { con->PrintInfo(derr_con); derr_con<<"WARNING: Not changing" @@ -671,7 +671,7 @@ SharedBuffer Channel::ProcessPacket( con->PrintInfo(); dout_con<<"DISCO: Removing peer "<<(peer_id)<deletePeer(peer_id) == false) + if(con->deletePeer(peer_id, false) == false) { con->PrintInfo(derr_con); derr_con<<"DISCO: Peer not found"<::Iterator i = timeouted_peers.begin(); for(; i != timeouted_peers.end(); i++) { PrintInfo(derr_con); derr_con<<"RunTimeouts(): Removing peer "<<(*i)<deletingPeer(m_peers[*i], true); - delete m_peers[*i]; - m_peers.remove(*i); + deletePeer(*i, true); } } @@ -1319,7 +1317,7 @@ Peer* Connection::GetPeer(u16 peer_id) if(node == NULL){ // Peer not found - throw PeerNotFoundException("Peer not found (possible timeout)"); + throw PeerNotFoundException("GetPeer: Peer not found (possible timeout)"); } // Error checking @@ -1355,11 +1353,11 @@ core::list Connection::GetPeers() return list; } -bool Connection::deletePeer(u16 peer_id) +bool Connection::deletePeer(u16 peer_id, bool timeout) { if(m_peers.find(peer_id) == NULL) return false; - m_peerhandler->deletingPeer(m_peers[peer_id], true); + m_peerhandler->deletingPeer(m_peers[peer_id], timeout); delete m_peers[peer_id]; m_peers.remove(peer_id); return true;