c-libp2p/include/libp2p/routing/kademlia.h

24 lines
743 B
C

#pragma once
#include "libp2p/utils/vector.h"
#include "multiaddr/multiaddr.h"
int start_kademlia(int sock, int family, char* peer_id, int timeout, struct Libp2pVector* bootstrap_addresses);
int start_kademlia_multiaddress(struct MultiAddress* multiaddress, char* peer_id, int timeout, struct Libp2pVector* bootstrap_addresses);
void stop_kademlia (void);
void *kademlia_thread (void *ptr);
void *announce_thread (void *ptr);
int announce_kademlia (char* peer_id, uint16_t port);
/***
* Search for a hash
* @param peer_id the hash to search for
* @param timeout timeout in seconds
* @returns an array of MultiAddress
*/
struct MultiAddress** search_kademlia(char* peer_id, int timeout);
int ping_kademlia (char *ip, uint16_t port);