boolean attemptResend ( ZWaveChannelContext ctx , boolean dueToCAN ) { if ( startFrame . getSendCount ( ) < MAX_SEND_COUNT ) { logger . debug ( "Transaction {} has failed - will reset and resend initial request" , getId ( ) ) ; reset ( ) ; // if a CAN was received, then we decrement the send count by one so this attempt doesn't count towards the maximum resend count if ( dueToCAN ) { startFrame . decrementSendCount ( ) ; } ctx . writeFrame ( new OutboundDataFrame ( startFrame , isListeningNode ( ) ) ) ; return true ; } else { logger . debug ( "Exceeded max transaction resends" ) ; ctx . fireEvent ( new TransactionFailedEvent ( getId ( ) , startFrame ) ) ; return false ; } }
Attempts to re - send the data frame that initiated this transaction .