@ -1096,17 +1096,6 @@ static void AddToCompactExtraTransactions(const CTransactionRef& tx) EXCLUSIVE_L
vExtraTxnForCompactIt = ( vExtraTxnForCompactIt + 1 ) % max_extra_txn ;
vExtraTxnForCompactIt = ( vExtraTxnForCompactIt + 1 ) % max_extra_txn ;
}
}
bool AddOrphanTx ( const CTransactionRef & tx , NodeId peer ) EXCLUSIVE_LOCKS_REQUIRED ( g_cs_orphans )
{
if ( ! OrphanageAddTx ( tx , peer ) ) {
return false ;
}
AddToCompactExtraTransactions ( tx ) ;
return true ;
}
void PeerManagerImpl : : Misbehaving ( const NodeId pnode , const int howmuch , const std : : string & message )
void PeerManagerImpl : : Misbehaving ( const NodeId pnode , const int howmuch , const std : : string & message )
{
{
assert ( howmuch > 0 ) ;
assert ( howmuch > 0 ) ;
@ -3156,7 +3145,10 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
pfrom . AddKnownTx ( parent_txid ) ;
pfrom . AddKnownTx ( parent_txid ) ;
if ( ! AlreadyHaveTx ( gtxid ) ) AddTxAnnouncement ( pfrom , gtxid , current_time ) ;
if ( ! AlreadyHaveTx ( gtxid ) ) AddTxAnnouncement ( pfrom , gtxid , current_time ) ;
}
}
AddOrphanTx ( ptx , pfrom . GetId ( ) ) ;
if ( OrphanageAddTx ( ptx , pfrom . GetId ( ) ) ) {
AddToCompactExtraTransactions ( ptx ) ;
}
// Once added to the orphan pool, a tx is considered AlreadyHave, and we shouldn't request it anymore.
// Once added to the orphan pool, a tx is considered AlreadyHave, and we shouldn't request it anymore.
m_txrequest . ForgetTxHash ( tx . GetHash ( ) ) ;
m_txrequest . ForgetTxHash ( tx . GetHash ( ) ) ;