mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-03-03 10:46:42 +01:00
Add PeerManagerApi (#5164)
This commit is contained in:
parent
2d57ff6a3e
commit
ef2c96cc99
2 changed files with 20 additions and 2 deletions
|
@ -0,0 +1,17 @@
|
|||
package org.bitcoins.core.api.node
|
||||
|
||||
import scala.concurrent.Future
|
||||
|
||||
trait PeerManagerApi {
|
||||
|
||||
def disconnectPeer(peer: Peer): Future[Unit]
|
||||
|
||||
def connectPeer(peer: Peer): Future[Unit]
|
||||
|
||||
def isConnected(peer: Peer): Future[Boolean]
|
||||
|
||||
def isDisconnected(peer: Peer): Future[Boolean]
|
||||
|
||||
def isInitialized(peer: Peer): Future[Boolean]
|
||||
|
||||
}
|
|
@ -27,7 +27,7 @@ import org.bitcoins.core.api.chain.db.{
|
|||
CompactFilterDb,
|
||||
CompactFilterHeaderDb
|
||||
}
|
||||
import org.bitcoins.core.api.node.{NodeType, Peer}
|
||||
import org.bitcoins.core.api.node.{NodeType, Peer, PeerManagerApi}
|
||||
import org.bitcoins.core.p2p._
|
||||
import org.bitcoins.core.protocol.transaction.Transaction
|
||||
import org.bitcoins.core.util.{NetworkUtil, StartStopAsync}
|
||||
|
@ -57,6 +57,7 @@ case class PeerManager(
|
|||
nodeAppConfig: NodeAppConfig,
|
||||
chainAppConfig: ChainAppConfig)
|
||||
extends StartStopAsync[PeerManager]
|
||||
with PeerManagerApi
|
||||
with PeerMessageSenderApi
|
||||
with SourceQueue[NodeStreamMessage]
|
||||
with P2PLogger {
|
||||
|
@ -82,7 +83,7 @@ case class PeerManager(
|
|||
|
||||
def connectedPeerCount: Int = _peerDataMap.size
|
||||
|
||||
private def connectPeer(peer: Peer): Future[Unit] = {
|
||||
override def connectPeer(peer: Peer): Future[Unit] = {
|
||||
finderOpt match {
|
||||
case Some(finder) =>
|
||||
require(finder.hasPeer(peer), s"Unknown $peer marked as usable")
|
||||
|
|
Loading…
Add table
Reference in a new issue