func (mexset *messageExchangeSet) expireExchange(msgID uint32) {
	mexset.log.Debugf(
		"Removing %s message exchange %d due to timeout, cancellation or blackhole",
		mexset.name,
		msgID,
	)

	mexset.Lock()
	// TODO(aniketp): explore if cancel can be called everytime we expire an exchange
	found, expired := mexset.deleteExchange(msgID)
	if found || expired {
		// Record in expiredExchanges if we deleted the exchange.
		mexset.expiredExchanges[msgID] = struct{}{}
	}
	mexset.Unlock()

	if expired {
		mexset.log.WithFields(LogField{"msgID", msgID}).Info("Exchange expired already")
	}

	mexset.onRemoved()
}
func (mexset *messageExchangeSet) expireExchange(msgID uint32) {
	mexset.log.Debugf(
		"Removing %s message exchange %d due to timeout, cancellation or blackhole",
		mexset.name,
		msgID,
	)

	mexset.Lock()
	
	found, expired := mexset.deleteExchange(msgID)
	if found || expired {
		
		mexset.expiredExchanges[msgID] = struct{}{}
	}
	mexset.Unlock()

	if expired {
		mexset.log.WithFields(LogField{"msgID", msgID}).Info("Exchange expired already")
	}

	mexset.onRemoved()
}
func ( mexset * messageExchangeSet ) expireExchange ( msgID uint32 ) { mexset . log . Debugf ( " " , mexset . name , msgID , ) mexset . Lock ( ) // TODO(aniketp): explore if cancel can be called everytime we expire an exchange found , expired := mexset . deleteExchange ( msgID ) if found || expired { // Record in expiredExchanges if we deleted the exchange. mexset . expiredExchanges [ msgID ] = struct { } { } } mexset . Unlock ( ) if expired { mexset . log . WithFields ( LogField { " " , msgID } ) . Info ( " " ) } mexset . onRemoved ( ) }
// expireExchange is similar to removeExchange, but it marks the exchange as
// expired.
expireExchange is similar to removeExchange but it marks the exchange as expired .