| 264 | } |
| 265 | |
| 266 | void BlockAnnounceSender::announceWithBlock(BlockSender& sender) { |
| 267 | assert(to.blocksToAnnounce.size() == 1); |
| 268 | uint256 hash = to.blocksToAnnounce[0]; |
| 269 | CBlockIndex* block = mapBlockIndex.find(hash)->second; |
| 270 | |
| 271 | if (peerHasHeader(block)) { |
| 272 | // peer may have announced this block to us. |
| 273 | return; |
| 274 | } |
| 275 | |
| 276 | sender.sendBlock(to, *block, MSG_CMPCT_BLOCK, block->nHeight); |
| 277 | UpdateBestHeaderSent(to, block); |
| 278 | |
| 279 | LogPrint("net", "%s: block %s to peer=%d\n", |
| 280 | __func__, hash.ToString(), to.id); |
| 281 | } |
| 282 | |
| 283 | void BlockAnnounceSender::announce() { |
| 284 | LOCK(to.cs_inventory); |
nothing calls this directly
no test coverage detected