mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 23:18:17 +01:00
Add methods for getting peers capabilities
This commit is contained in:
parent
6f7dfcf4ef
commit
40f9cfb7c5
1 changed files with 16 additions and 0 deletions
|
@ -32,6 +32,7 @@ import bisq.common.ClockWatcher;
|
|||
import bisq.common.Timer;
|
||||
import bisq.common.UserThread;
|
||||
import bisq.common.app.Capabilities;
|
||||
import bisq.common.app.Capability;
|
||||
import bisq.common.config.Config;
|
||||
import bisq.common.persistence.PersistenceManager;
|
||||
import bisq.common.proto.persistable.PersistedDataHost;
|
||||
|
@ -206,6 +207,21 @@ public class PeerManager implements ConnectionListener, PersistedDataHost {
|
|||
}
|
||||
|
||||
|
||||
public boolean peerHasCapability(NodeAddress peersNodeAddress, Capability capability) {
|
||||
return findPeersCapabilities(peersNodeAddress)
|
||||
.map(capabilities -> capabilities.contains(capability))
|
||||
.orElse(false);
|
||||
}
|
||||
|
||||
// TODO persist Capabilities
|
||||
public Optional<Capabilities> findPeersCapabilities(NodeAddress peersNodeAddress) {
|
||||
return networkNode.getConfirmedConnections().stream()
|
||||
.filter(c -> c.getPeersNodeAddressProperty().get() != null)
|
||||
.filter(c -> c.getPeersNodeAddressProperty().get().equals(peersNodeAddress))
|
||||
.map(Connection::getCapabilities)
|
||||
.findAny();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ConnectionListener implementation
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
Loading…
Add table
Reference in a new issue