mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
Removed tox_connect, initial connections are made on first tox_do
This commit is contained in:
parent
98a93c7880
commit
27369ac762
|
@ -2229,6 +2229,13 @@ DHT *new_DHT(Networking_Core *net)
|
||||||
|
|
||||||
void do_DHT(DHT *dht)
|
void do_DHT(DHT *dht)
|
||||||
{
|
{
|
||||||
|
// Load friends/clients if first call to do_DHT
|
||||||
|
if(dht->has_loaded_friends_clients == 0)
|
||||||
|
{
|
||||||
|
dht->has_loaded_friends_clients = 1;
|
||||||
|
DHT_connect_after_load(dht);
|
||||||
|
}
|
||||||
|
|
||||||
unix_time_update();
|
unix_time_update();
|
||||||
|
|
||||||
if (dht->last_run == unix_time()) {
|
if (dht->last_run == unix_time()) {
|
||||||
|
|
|
@ -202,6 +202,7 @@ typedef struct {
|
||||||
|
|
||||||
// Used after loading of file (tox_load), but no longer needed after connect (tox_connect)
|
// Used after loading of file (tox_load), but no longer needed after connect (tox_connect)
|
||||||
// Unsure if friends_list and num_friends could just be used instead?
|
// Unsure if friends_list and num_friends could just be used instead?
|
||||||
|
int has_loaded_friends_clients; // Whether or not we have loaded on the first do_DHT
|
||||||
DHT_Friend *loaded_friends_list;
|
DHT_Friend *loaded_friends_list;
|
||||||
uint32_t loaded_num_friends;
|
uint32_t loaded_num_friends;
|
||||||
Client_data *loaded_clients_list;
|
Client_data *loaded_clients_list;
|
||||||
|
|
|
@ -2408,6 +2408,17 @@ uint32_t messenger_run_interval(Messenger *m)
|
||||||
/* The main loop that needs to be run at least 20 times per second. */
|
/* The main loop that needs to be run at least 20 times per second. */
|
||||||
void do_messenger(Messenger *m)
|
void do_messenger(Messenger *m)
|
||||||
{
|
{
|
||||||
|
// Add the TCP relays, but only if this is the first time calling do_messenger
|
||||||
|
if(m->has_added_relays == 0)
|
||||||
|
{
|
||||||
|
m->has_added_relays = 1;
|
||||||
|
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < NUM_SAVED_TCP_RELAYS; ++i) {
|
||||||
|
add_tcp_relay(m->net_crypto, m->loaded_relays[i].ip_port, m->loaded_relays[i].client_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
unix_time_update();
|
unix_time_update();
|
||||||
|
|
||||||
if (!m->options.udp_disabled) {
|
if (!m->options.udp_disabled) {
|
||||||
|
@ -2554,7 +2565,6 @@ void do_messenger(Messenger *m)
|
||||||
#define MESSENGER_STATE_TYPE_PATH_NODE 11
|
#define MESSENGER_STATE_TYPE_PATH_NODE 11
|
||||||
|
|
||||||
#define SAVED_FRIEND_REQUEST_SIZE 1024
|
#define SAVED_FRIEND_REQUEST_SIZE 1024
|
||||||
#define NUM_SAVED_TCP_RELAYS 8
|
|
||||||
#define NUM_SAVED_PATH_NODES 8
|
#define NUM_SAVED_PATH_NODES 8
|
||||||
struct SAVED_FRIEND {
|
struct SAVED_FRIEND {
|
||||||
uint8_t status;
|
uint8_t status;
|
||||||
|
@ -2859,25 +2869,6 @@ int messenger_load(Messenger *m, const uint8_t *data, uint32_t length)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Connect after loading messenger from file */
|
|
||||||
int messenger_connect(Messenger *m)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if(m == NULL)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
DHT *dht = m->dht;
|
|
||||||
if(DHT_connect_after_load(dht) == -1)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
for (i = 0; i < NUM_SAVED_TCP_RELAYS; ++i) {
|
|
||||||
add_tcp_relay(m->net_crypto, m->loaded_relays[i].ip_port, m->loaded_relays[i].client_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return the number of friends in the instance m.
|
/* Return the number of friends in the instance m.
|
||||||
* You should use this to determine how much memory to allocate
|
* You should use this to determine how much memory to allocate
|
||||||
* for copy_friendlist. */
|
* for copy_friendlist. */
|
||||||
|
|
|
@ -189,7 +189,7 @@ typedef struct {
|
||||||
} lossless_packethandlers[PACKET_ID_LOSSLESS_RANGE_SIZE];
|
} lossless_packethandlers[PACKET_ID_LOSSLESS_RANGE_SIZE];
|
||||||
} Friend;
|
} Friend;
|
||||||
|
|
||||||
|
#define NUM_SAVED_TCP_RELAYS 8
|
||||||
typedef struct Messenger {
|
typedef struct Messenger {
|
||||||
|
|
||||||
Networking_Core *net;
|
Networking_Core *net;
|
||||||
|
@ -219,9 +219,8 @@ typedef struct Messenger {
|
||||||
|
|
||||||
uint64_t last_LANdiscovery;
|
uint64_t last_LANdiscovery;
|
||||||
|
|
||||||
// Relays loaded from config
|
uint8_t has_added_relays; // If the first connection has occurred in do_messenger
|
||||||
// 8 should be NUM_SAVED_TCP_RELAYS but it is defined in c file
|
Node_format loaded_relays[NUM_SAVED_TCP_RELAYS]; // Relays loaded from config
|
||||||
Node_format loaded_relays[8];
|
|
||||||
|
|
||||||
void (*friend_message)(struct Messenger *m, int32_t, const uint8_t *, uint16_t, void *);
|
void (*friend_message)(struct Messenger *m, int32_t, const uint8_t *, uint16_t, void *);
|
||||||
void *friend_message_userdata;
|
void *friend_message_userdata;
|
||||||
|
@ -780,9 +779,6 @@ void messenger_save(const Messenger *m, uint8_t *data);
|
||||||
/* Load the messenger from data of size length. */
|
/* Load the messenger from data of size length. */
|
||||||
int messenger_load(Messenger *m, const uint8_t *data, uint32_t length);
|
int messenger_load(Messenger *m, const uint8_t *data, uint32_t length);
|
||||||
|
|
||||||
/* Connect after loading messenger from file */
|
|
||||||
int messenger_connect(Messenger *m);
|
|
||||||
|
|
||||||
/* Return the number of friends in the instance m.
|
/* Return the number of friends in the instance m.
|
||||||
* You should use this to determine how much memory to allocate
|
* You should use this to determine how much memory to allocate
|
||||||
* for copy_friendlist. */
|
* for copy_friendlist. */
|
||||||
|
|
|
@ -928,10 +928,3 @@ int tox_load(Tox *tox, const uint8_t *data, uint32_t length)
|
||||||
Messenger *m = tox;
|
Messenger *m = tox;
|
||||||
return messenger_load(m, data, length);
|
return messenger_load(m, data, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Connect after loading the messenger from file */
|
|
||||||
int tox_connect(Tox *tox)
|
|
||||||
{
|
|
||||||
Messenger *m = tox;
|
|
||||||
return messenger_connect(m);
|
|
||||||
}
|
|
||||||
|
|
|
@ -723,13 +723,6 @@ void tox_save(const Tox *tox, uint8_t *data);
|
||||||
*/
|
*/
|
||||||
int tox_load(Tox *tox, const uint8_t *data, uint32_t length);
|
int tox_load(Tox *tox, const uint8_t *data, uint32_t length);
|
||||||
|
|
||||||
/* Perform connections after messenger has been loaded from file.
|
|
||||||
*
|
|
||||||
* returns 0 on success
|
|
||||||
* returns -1 on failure
|
|
||||||
*/
|
|
||||||
int tox_connect(Tox *tox);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user