case class PeerManager(paramPeers: Vector[Peer] = Vector.empty, walletCreationTimeOpt: Option[Instant])(implicit ec: ExecutionContext, system: ActorSystem, nodeAppConfig: NodeAppConfig, chainAppConfig: ChainAppConfig) extends StartStopAsync[PeerManager] with PeerMessageSenderApi with SourceQueue[StreamDataMessageWrapper] with P2PLogger with Product with Serializable
- Alphabetic
- By Inheritance
- PeerManager
- Serializable
- Product
- Equals
- P2PLogger
- Logging
- SourceQueue
- PeerMessageSenderApi
- StartStopAsync
- StartStop
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new PeerManager(paramPeers: Vector[Peer] = Vector.empty, walletCreationTimeOpt: Option[Instant])(implicit ec: ExecutionContext, system: ActorSystem, nodeAppConfig: NodeAppConfig, chainAppConfig: ChainAppConfig)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addPeerToTry(peers: Vector[Peer], priority: Int = 0): Unit
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def connectedPeerCount: Int
- def debug(mkr: Marker, msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def debug(msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def debug(msg: => Any): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def error(mkr: Marker, msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def error(msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def error(msg: => Any): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getPeerData(peer: Peer): Option[PeerData]
- def gossipGetHeadersMessage(hashes: Vector[DoubleSha256DigestBE]): Future[Unit]
Gossips the org.bitcoins.core.p2p.GetHeadersMessage to all of our peers to attempt ot get the best block headers
Gossips the org.bitcoins.core.p2p.GetHeadersMessage to all of our peers to attempt ot get the best block headers
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def gossipMessage(msg: NetworkPayload, excludedPeerOpt: Option[Peer]): Future[Unit]
Gossips the given message to all peers except the excluded peer.
Gossips the given message to all peers except the excluded peer. If None given as excluded peer, gossip message to all peers
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def info(mkr: Marker, msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def info(msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def info(msg: => Any): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def isConnected(peer: Peer): Future[Boolean]
- def isDebugEnabled: Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def isDisconnected(peer: Peer): Future[Boolean]
- def isErrorEnabled: Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def isInfoEnabled: Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def isInitialized(peer: Peer): Future[Boolean]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isReconnection(peer: Peer): Boolean
- def isTraceEnabled: Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def isWarnEnabled: Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def logger: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def loggerName: String
- Attributes
- protected
- Definition Classes
- Logging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def offer(elem: StreamDataMessageWrapper): Future[QueueOfferResult]
- Definition Classes
- PeerManager → SourceQueue
- def onInitializationTimeout(peer: Peer): Future[Unit]
- def onVersionMessage(peer: Peer, versionMsg: VersionMessage): Unit
- val paramPeers: Vector[Peer]
- def peers: Vector[Peer]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def randomPeerWithService(services: ServiceIdentifier): Future[Option[Peer]]
- def removePeer(peer: Peer): Future[Unit]
- def replacePeer(replacePeer: Peer, withPeer: Peer): Future[Unit]
- def sendGetAddrMessage(peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendGetCompactFilterHeadersMessage(filterSyncMarker: FilterSyncMarker, peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def sendGetCompactFiltersMessage(filterSyncMarker: FilterSyncMarker, peer: Peer)(implicit ec: ExecutionContext): Future[FilterSync]
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def sendGetDataMessage(typeIdentifier: TypeIdentifier, hash: DoubleSha256DigestBE, peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendGetDataMessages(typeIdentifier: TypeIdentifier, hashes: Vector[DoubleSha256DigestBE], peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def sendGetHeadersMessage(hashes: Vector[DoubleSha256DigestBE], peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def sendGetHeadersMessage(lastHash: DoubleSha256DigestBE, peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendHeadersMessage(peer: Peer): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendInventoryMessage(transactions: Vector[Transaction], peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def sendMsg(msg: NetworkPayload, peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerManager → PeerMessageSenderApi
- def sendPong(ping: PingMessage, peer: Peer): Future[Unit]
Responds to a ping message
Responds to a ping message
- Definition Classes
- PeerMessageSenderApi
- def sendSendAddrV2Message(peer: Peer): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendTransactionMessage(transaction: Transaction, peerOpt: Option[Peer]): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendVerackMessage(peer: Peer): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendVersionMessage(chainApi: ChainApi, peer: Peer)(implicit ec: ExecutionContext, conf: NodeAppConfig): Future[Unit]
- Definition Classes
- PeerMessageSenderApi
- def sendVersionMessage(peer: Peer)(implicit conf: NodeAppConfig): Future[Unit]
Sends a VersionMessage to our peer
Sends a VersionMessage to our peer
- Definition Classes
- PeerMessageSenderApi
- def start(): Future[PeerManager]
- Definition Classes
- PeerManager → StartStop
- def stop(): Future[PeerManager]
- Definition Classes
- PeerManager → StartStop
- def syncHelper(syncPeerOpt: Option[Peer]): Future[Unit]
Helper method to sync the blockchain over the network
Helper method to sync the blockchain over the network
- syncPeerOpt
if syncPeer is given, we send org.bitcoins.core.p2p.GetHeadersMessage to that peer. If None we gossip GetHeadersMessage to all peers
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def trace(mkr: Marker, msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def trace(msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def trace(msg: => Any): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def waitingForDeletion: Set[Peer]
- val walletCreationTimeOpt: Option[Instant]
- def warn(mkr: Marker, msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def warn(msg: => Any, t: => Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def warn(msg: => Any): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def watchCompletion(): Future[Done]
- Definition Classes
- PeerManager → SourceQueue