Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  var DefaultBootstrapConfig = BootstrapConfig{ MinPeerThreshold: 4, Period: 30 * time.Second, ConnectionTimeout: (30 * time.Second) / 3, }
DefaultBootstrapConfig specifies default sane parameters for bootstrapping.
      View Source
      
  var ErrNotEnoughBootstrapPeers = errors.New("not enough bootstrap peers to bootstrap")
    ErrNotEnoughBootstrapPeers signals that we do not have enough bootstrap peers to bootstrap correctly.
Functions ¶
func Bootstrap ¶
func Bootstrap(id peer.ID, host host.Host, rt routing.IpfsRouting, cfg BootstrapConfig) (io.Closer, error)
Bootstrap kicks off IpfsNode bootstrapping. This function will periodically check the number of open connections and -- if there are too few -- initiate connections to well-known bootstrap peers. It also kicks off subsystem bootstrapping (i.e. routing).
Types ¶
type BootstrapConfig ¶
type BootstrapConfig struct {
	// MinPeerThreshold governs whether to bootstrap more connections. If the
	// node has less open connections than this number, it will open connections
	// to the bootstrap nodes. From there, the routing system should be able
	// to use the connections to the bootstrap nodes to connect to even more
	// peers. Routing systems like the IpfsDHT do so in their own Bootstrap
	// process, which issues random queries to find more peers.
	MinPeerThreshold int
	// Period governs the periodic interval at which the node will
	// attempt to bootstrap. The bootstrap process is not very expensive, so
	// this threshold can afford to be small (<=30s).
	Period time.Duration
	// ConnectionTimeout determines how long to wait for a bootstrap
	// connection attempt before cancelling it.
	ConnectionTimeout time.Duration
	// BootstrapPeers is a function that returns a set of bootstrap peers
	// for the bootstrap process to use. This makes it possible for clients
	// to control the peers the process uses at any moment.
	BootstrapPeers func() []peerstore.PeerInfo
}
    BootstrapConfig specifies parameters used in an IpfsNode's network bootstrapping process.
func BootstrapConfigWithPeers ¶
func BootstrapConfigWithPeers(pis []peerstore.PeerInfo) BootstrapConfig
type Peers ¶
type Peers []config.BootstrapPeer
func (Peers) ToPeerInfos ¶
func (bpeers Peers) ToPeerInfos() []peerstore.PeerInfo
 Click to show internal directories. 
   Click to hide internal directories.