ssb: Sync now connects to room members one level deep.
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Build Tilde Friends / Build-All (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Build Tilde Friends / Build-All (push) Has been cancelled
				
			This commit is contained in:
		| @@ -1295,6 +1295,28 @@ static void _tf_ssb_rpc_connections_changed_callback(tf_ssb_t* ssb, tf_ssb_chang | ||||
| 	} | ||||
| } | ||||
|  | ||||
| static void _tf_ssb_rpc_broadcasts_changed_visit(const char* host, const struct sockaddr_in* addr, tf_ssb_broadcast_origin_t origin, tf_ssb_connection_t* tunnel, const uint8_t* pub, void* user_data) | ||||
| { | ||||
| 	tf_ssb_t* ssb = user_data; | ||||
| 	if (tunnel && | ||||
| 		(tf_ssb_connection_get_flags(tunnel) & k_tf_ssb_connect_flag_one_shot) != 0 && | ||||
| 		!tf_ssb_connection_get_tunnel(tunnel)) | ||||
| 	{ | ||||
| 		char target_id[k_id_base64_len] = { 0 }; | ||||
| 		char portal_id[k_id_base64_len] = { 0 }; | ||||
| 		if (tf_ssb_id_bin_to_str(target_id, sizeof(target_id), pub) && | ||||
| 			tf_ssb_connection_get_id(tunnel, portal_id, sizeof(portal_id))) | ||||
| 		{ | ||||
| 			tf_ssb_tunnel_create(ssb, portal_id, target_id, k_tf_ssb_connect_flag_one_shot); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| static void _tf_ssb_rpc_broadcasts_changed_callback(tf_ssb_t* ssb, void* user_data) | ||||
| { | ||||
| 	tf_ssb_visit_broadcasts(ssb, _tf_ssb_rpc_broadcasts_changed_visit, ssb); | ||||
| } | ||||
|  | ||||
| static void _tf_ssb_rpc_checkpoint(tf_ssb_t* ssb) | ||||
| { | ||||
| 	int64_t checkpoint_start_ms = uv_hrtime(); | ||||
| @@ -1520,6 +1542,7 @@ static void _tf_ssb_rpc_peers_exchange(tf_ssb_connection_t* connection, uint8_t | ||||
| void tf_ssb_rpc_register(tf_ssb_t* ssb) | ||||
| { | ||||
| 	tf_ssb_add_connections_changed_callback(ssb, _tf_ssb_rpc_connections_changed_callback, NULL, NULL); | ||||
| 	tf_ssb_add_broadcasts_changed_callback(ssb, _tf_ssb_rpc_broadcasts_changed_callback, NULL, NULL); | ||||
| 	tf_ssb_add_rpc_callback(ssb, "gossip.ping", _tf_ssb_rpc_gossip_ping, NULL, NULL); /* DUPLEX */ | ||||
| 	tf_ssb_add_rpc_callback(ssb, "blobs.get", _tf_ssb_rpc_blobs_get, NULL, NULL); /* SOURCE */ | ||||
| 	tf_ssb_add_rpc_callback(ssb, "blobs.has", _tf_ssb_rpc_blobs_has, NULL, NULL); /* ASYNC */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user