Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(share/discovery): discovery should try to connect to empty hosts peers #2575

Merged
merged 2 commits into from
Aug 18, 2023

Conversation

walldiss
Copy link
Member

libp2p routed host will attempt to find address, if none are provided. First in Peerstore, then by calling FindPeer:

// if we were given some addresses, keep + use them.
	if len(pi.Addrs) > 0 {
		rh.Peerstore().AddAddrs(pi.ID, pi.Addrs, peerstore.TempAddrTTL)
	}

	// Check if we have some addresses in our recent memory.
	addrs := rh.Peerstore().Addrs(pi.ID)
	if len(addrs) < 1 {
		// no addrs? find some with the routing system.
		var err error
		addrs, err = rh.findPeerAddrs(ctx, pi.ID)
		if err != nil {
			return err
		}
	}

It is worth to try to connect in such case.

@walldiss walldiss added area:p2p kind:fix Attached to bug-fixing PRs labels Aug 17, 2023
@walldiss walldiss self-assigned this Aug 17, 2023
@walldiss walldiss merged commit c2c0827 into celestiaorg:main Aug 18, 2023
13 of 15 checks passed
renaynay pushed a commit to renaynay/celestia-node that referenced this pull request Aug 23, 2023
…peers (celestiaorg#2575)

libp2p routed host will attempt to find address, if none are provided.
First in `Peerstore`, then by calling `FindPeer`:
```
// if we were given some addresses, keep + use them.
	if len(pi.Addrs) > 0 {
		rh.Peerstore().AddAddrs(pi.ID, pi.Addrs, peerstore.TempAddrTTL)
	}

	// Check if we have some addresses in our recent memory.
	addrs := rh.Peerstore().Addrs(pi.ID)
	if len(addrs) < 1 {
		// no addrs? find some with the routing system.
		var err error
		addrs, err = rh.findPeerAddrs(ctx, pi.ID)
		if err != nil {
			return err
		}
	}
```
It is worth to try to connect in such case.
walldiss added a commit to walldiss/celestia-node that referenced this pull request Sep 22, 2023
…peers (celestiaorg#2575)

libp2p routed host will attempt to find address, if none are provided.
First in `Peerstore`, then by calling `FindPeer`:
```
// if we were given some addresses, keep + use them.
	if len(pi.Addrs) > 0 {
		rh.Peerstore().AddAddrs(pi.ID, pi.Addrs, peerstore.TempAddrTTL)
	}

	// Check if we have some addresses in our recent memory.
	addrs := rh.Peerstore().Addrs(pi.ID)
	if len(addrs) < 1 {
		// no addrs? find some with the routing system.
		var err error
		addrs, err = rh.findPeerAddrs(ctx, pi.ID)
		if err != nil {
			return err
		}
	}
```
It is worth to try to connect in such case.

(cherry picked from commit c2c0827)
walldiss added a commit that referenced this pull request Sep 22, 2023
…peers (#2575)

libp2p routed host will attempt to find address, if none are provided.
First in `Peerstore`, then by calling `FindPeer`:
```
// if we were given some addresses, keep + use them.
	if len(pi.Addrs) > 0 {
		rh.Peerstore().AddAddrs(pi.ID, pi.Addrs, peerstore.TempAddrTTL)
	}

	// Check if we have some addresses in our recent memory.
	addrs := rh.Peerstore().Addrs(pi.ID)
	if len(addrs) < 1 {
		// no addrs? find some with the routing system.
		var err error
		addrs, err = rh.findPeerAddrs(ctx, pi.ID)
		if err != nil {
			return err
		}
	}
```
It is worth to try to connect in such case.

(cherry picked from commit c2c0827)
walldiss added a commit to walldiss/celestia-node that referenced this pull request Sep 22, 2023
…peers (celestiaorg#2575)

libp2p routed host will attempt to find address, if none are provided.
First in `Peerstore`, then by calling `FindPeer`:
```
// if we were given some addresses, keep + use them.
	if len(pi.Addrs) > 0 {
		rh.Peerstore().AddAddrs(pi.ID, pi.Addrs, peerstore.TempAddrTTL)
	}

	// Check if we have some addresses in our recent memory.
	addrs := rh.Peerstore().Addrs(pi.ID)
	if len(addrs) < 1 {
		// no addrs? find some with the routing system.
		var err error
		addrs, err = rh.findPeerAddrs(ctx, pi.ID)
		if err != nil {
			return err
		}
	}
```
It is worth to try to connect in such case.

(cherry picked from commit c2c0827)
walldiss added a commit to walldiss/celestia-node that referenced this pull request Sep 25, 2023
…peers (celestiaorg#2575)

libp2p routed host will attempt to find address, if none are provided.
First in `Peerstore`, then by calling `FindPeer`:
```
// if we were given some addresses, keep + use them.
	if len(pi.Addrs) > 0 {
		rh.Peerstore().AddAddrs(pi.ID, pi.Addrs, peerstore.TempAddrTTL)
	}

	// Check if we have some addresses in our recent memory.
	addrs := rh.Peerstore().Addrs(pi.ID)
	if len(addrs) < 1 {
		// no addrs? find some with the routing system.
		var err error
		addrs, err = rh.findPeerAddrs(ctx, pi.ID)
		if err != nil {
			return err
		}
	}
```
It is worth to try to connect in such case.

(cherry picked from commit c2c0827)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:p2p kind:fix Attached to bug-fixing PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants