source/Sources/AirPlayReceiverSession.c
static void	_RetransmitsAbortOne( AirPlayReceiverSessionRef inSession, uint16_t inSeq, const char *inReason )
{
	AirTunesSource * const			ats = &inSession->source;
	AirTunesRetransmitNode **		next;
	AirTunesRetransmitNode *		curr;
	uint64_t						nowNanos;
	
	if( ats->rtcpRTBusyList ) atr_ulog( kLogLevelInfo, "### Aborting retransmits <= %u (%s)\n", inSeq, inReason );
	
	nowNanos = UpNanoseconds();
	for( next = &ats->rtcpRTBusyList; ( curr = *next ) != NULL; )
	{
		if( Mod16_LE( curr->seq, inSeq ) )
		{
			atr_ulog( kLogLevelVerbose, "    ### Abort retransmit %5u  T %2u  A %10llu \n", 
				curr->seq, curr->tries, nowNanos - curr->startNanos  );
			
			*next = curr->next;
			curr->next = ats->rtcpRTFreeList;
			ats->rtcpRTFreeList = curr;
			continue;
		}
		next = &curr->next;
	}
}
//===========================================================================================================================
//	_RetransmitsAbortOne
//
//	Warning: Assumes the AirTunes lock is held.
//===========================================================================================================================
_RetransmitsAbortOne
Warning: Assumes the AirTunes lock is held.
_RetransmitsAbortOne Warning : Assumes the AirTunes lock is held .
static void	_RetransmitsAbortOne( AirPlayReceiverSessionRef inSession, uint16_t inSeq, const char *inReason )
{
	AirTunesSource * const			ats = &inSession->source;
	AirTunesRetransmitNode **		next;
	AirTunesRetransmitNode *		curr;
	uint64_t						nowNanos;
	if( ats->rtcpRTBusyList ) atr_ulog( kLogLevelInfo, "### Aborting retransmits <= %u (%s)\n", inSeq, inReason );
	nowNanos = UpNanoseconds();
	for( next = &ats->rtcpRTBusyList; ( curr = *next ) != NULL; )
	{
		if( Mod16_LE( curr->seq, inSeq ) )
		{
			atr_ulog( kLogLevelVerbose, "    ### Abort retransmit %5u  T %2u  A %10llu \n", 
				curr->seq, curr->tries, nowNanos - curr->startNanos  );
			*next = curr->next;
			curr->next = ats->rtcpRTFreeList;
			ats->rtcpRTFreeList = curr;
			continue;
		}
		next = &curr->next;
	}
}
static void _RetransmitsAbortOne ( AirPlayReceiverSessionRef inSession , uint16_t inSeq , const char * inReason ) { AirTunesSource * const ats = & inSession -> source ; AirTunesRetransmitNode * * next ; AirTunesRetransmitNode * curr ; uint64_t nowNanos ; if ( ats -> rtcpRTBusyList ) atr_ulog ( kLogLevelInfo , " \n " , inSeq , inReason ) ; nowNanos = UpNanoseconds ( ) ; for ( next = & ats -> rtcpRTBusyList ; ( curr = * next ) != NULL ; ) { if ( Mod16_LE ( curr -> seq , inSeq ) ) { atr_ulog ( kLogLevelVerbose , " \n " , curr -> seq , curr -> tries , nowNanos - curr -> startNanos ) ; * next = curr -> next ; curr -> next = ats -> rtcpRTFreeList ; ats -> rtcpRTFreeList = curr ; continue ; } next = & curr -> next ; } }
_RetransmitsAbortOne
Warning: Assumes the AirTunes lock is held.
_RetransmitsAbortOne Warning : Assumes the AirTunes lock is held .