packageifaceimport("context"options"github.com/ipfs/go-ipfs/core/coreapi/interface/options"ma"gx/ipfs/QmWWQ2Txc2c6tqjsBpzg5Ar652cHPGNsQQp2SejkNmkUMb/go-multiaddr"peer"gx/ipfs/QmZoWKhxUmZ2seW4BzX6fJkNR8hh9PsGModr7q171yq2SS/go-libp2p-peer")// DhtAPI specifies the interface to the DHTtypeDhtAPIinterface{// FindPeer queries the DHT for all of the multiaddresses associated with a// Peer IDFindPeer(context.Context,peer.ID)(<-chanma.Multiaddr,error)// FindProviders finds peers in the DHT who can provide a specific value// given a key.
FindProviders(context.Context,Path,...options.DhtFindProvidersOption)(<-chanpeer.ID,error)//TODO: is path the right choice here?// WithNumProviders is an option for FindProviders which specifies the// number of peers to look for. Default is 20WithNumProviders(numProvidersint)options.DhtFindProvidersOption
// Provide announces to the network that you are providing given valuesProvide(context.Context,Path,...options.DhtProvideOption)error// WithRecursive is an option for Provide which specifies whether to provide// the given path recursivelyWithRecursive(recursivebool)options.DhtProvideOption}