]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/connection.cpp
mapgen tweaking
[dragonfireclient.git] / src / connection.cpp
index 0bc8492e6d482b34616bce20ed2e0aeba31b92ab..b07e0de906124fad5c9400f7070e31f44640b000 100644 (file)
@@ -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<u8> 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<u8> Channel::ProcessPacket(
                        con->PrintInfo();
                        dout_con<<"Got new peer id: "<<peer_id_new<<"... "<<std::endl;
 
-                       if(con->GetPeerID() != PEER_ID_NEW)
+                       if(con->GetPeerID() != PEER_ID_INEXISTENT)
                        {
                                con->PrintInfo(derr_con);
                                derr_con<<"WARNING: Not changing"
@@ -671,7 +671,7 @@ SharedBuffer<u8> Channel::ProcessPacket(
                        con->PrintInfo();
                        dout_con<<"DISCO: Removing peer "<<(peer_id)<<std::endl;
                        
-                       if(con->deletePeer(peer_id) == false)
+                       if(con->deletePeer(peer_id, false) == false)
                        {
                                con->PrintInfo(derr_con);
                                derr_con<<"DISCO: Peer not found"<<std::endl;
@@ -951,7 +951,7 @@ u32 Connection::Receive(u16 &peer_id, u8 *data, u32 datasize)
                        throw InvalidIncomingDataException("Channel doesn't exist");
                }
 
-               if(peer_id == PEER_ID_NEW)
+               if(peer_id == PEER_ID_INEXISTENT)
                {
                        /*
                                Somebody is trying to send stuff to us with no peer id.
@@ -994,7 +994,7 @@ u32 Connection::Receive(u16 &peer_id, u8 *data, u32 datasize)
                /*
                        The peer was not found in our lists. Add it.
                */
-               if(peer_id == PEER_ID_NEW)
+               if(peer_id == PEER_ID_INEXISTENT)
                {
                        // Somebody wants to make a new connection
 
@@ -1016,7 +1016,7 @@ u32 Connection::Receive(u16 &peer_id, u8 *data, u32 datasize)
                        }
 
                        PrintInfo();
-                       dout_con<<"Receive(): Got a packet with peer_id=PEER_ID_NEW,"
+                       dout_con<<"Receive(): Got a packet with peer_id=PEER_ID_INEXISTENT,"
                                        " giving peer_id="<<peer_id_new<<std::endl;
 
                        // Create a peer
@@ -1042,7 +1042,7 @@ u32 Connection::Receive(u16 &peer_id, u8 *data, u32 datasize)
                if(node == NULL)
                {
                        // Peer not found
-                       // This means that the peer id of the sender is not PEER_ID_NEW
+                       // This means that the peer id of the sender is not PEER_ID_INEXISTENT
                        // and it is invalid.
                        PrintInfo(derr_con);
                        derr_con<<"Receive(): Peer not found"<<std::endl;
@@ -1301,15 +1301,13 @@ void Connection::RunTimeouts(float dtime)
                continue;
        }
 
-       // Remove timeouted peers
+       // Remove timed out peers
        core::list<u16>::Iterator i = timeouted_peers.begin();
        for(; i != timeouted_peers.end(); i++)
        {
                PrintInfo(derr_con);
                derr_con<<"RunTimeouts(): Removing peer "<<(*i)<<std::endl;
-               m_peerhandler->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<Peer*> 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;