'This function dispatches data received from a UDP tracker.
If it\'s the first response, it will dispatch the data to the handle_connection_response
function of the UDP session.
All subsequent data will be send to the _handle_response function of the UDP session.
:param data: The data received from the UDP tracker.'

def datagramReceived(self, data, (_host, _port)):

    if self.expect_connection_response:
        if self.timeout_call.active():
            self.timeout_call.cancel()
        self.udpsession.handle_connection_response(data)
        self.expect_connection_response = False
    else:
        self.udpsession.handle_response(data)
