bluetooth/btstack/l2cap/L2CapFecNegotiator.cpp
branchRCL_3
changeset 22 786b94c6f0a4
parent 10 8a27654f7b62
equal deleted inserted replaced
21:14e240312f6f 22:786b94c6f0a4
   556 	TRetransmissionAndFlowControlOption response;
   556 	TRetransmissionAndFlowControlOption response;
   557 	iFecNegotiator.ModeSpecificHandlers().PrepareImplicitPeerResponse(response, iPreferred);
   557 	iFecNegotiator.ModeSpecificHandlers().PrepareImplicitPeerResponse(response, iPreferred);
   558 	ProcessPeerValue(response, EFalse);
   558 	ProcessPeerValue(response, EFalse);
   559 	}
   559 	}
   560 
   560 
       
   561 void TL2CapIncomingFecNegotiator::DowngradeToBasic()
       
   562 	{
       
   563 	LOG_FUNC
       
   564 	iPreferred = TRetransmissionAndFlowControlOption();
       
   565 	iConfigStatus = EOptionConfigComplete;
       
   566 	}
       
   567 
       
   568 
   561 void TL2CapIncomingFecNegotiator::BuildRequest(TL2CapChannelMode aMode, TRetransmissionAndFlowControlOption& aFecOption)
   569 void TL2CapIncomingFecNegotiator::BuildRequest(TL2CapChannelMode aMode, TRetransmissionAndFlowControlOption& aFecOption)
   562     {
   570     {
   563     LOG_FUNC
   571     LOG_FUNC
   564     aFecOption = TRetransmissionAndFlowControlOption(aMode, ETrue);
   572     aFecOption = TRetransmissionAndFlowControlOption(aMode, ETrue);
   565     iFecNegotiator.ModeSpecificHandlers().SetMaxTransmit(aFecOption, iFecNegotiator.MaxTransmit());
   573     iFecNegotiator.ModeSpecificHandlers().SetMaxTransmit(aFecOption, iFecNegotiator.MaxTransmit());
   759 		iOutgoingNegotiator.ConfigOptionStatus() != TL2CapConfigurationOptionGroupBase::EOptionConfigFailed &&
   767 		iOutgoingNegotiator.ConfigOptionStatus() != TL2CapConfigurationOptionGroupBase::EOptionConfigFailed &&
   760 		iOutgoingNegotiator.Preferred().LinkMode() == EL2CAPBasicMode &&
   768 		iOutgoingNegotiator.Preferred().LinkMode() == EL2CAPBasicMode &&
   761 		iIncomingNegotiator.Preferred().LinkMode() != EL2CAPBasicMode)
   769 		iIncomingNegotiator.Preferred().LinkMode() != EL2CAPBasicMode)
   762 		{
   770 		{
   763 		LOG(_L("\tReceived Basic mode Config Request, downgrading incoming channel mode to Basic"));
   771 		LOG(_L("\tReceived Basic mode Config Request, downgrading incoming channel mode to Basic"));
   764 		// Downgrade incoming FEC to be basic mode.
   772 		iIncomingNegotiator.DowngradeToBasic();
   765   		TRetransmissionAndFlowControlOption basicFec;
       
   766   		iIncomingNegotiator.SetPreferred(basicFec);
       
   767 		}
   773 		}
   768 	}
   774 	}
   769 
   775 
   770 TInt TL2CapFecNegotiator::CheckNegotiatedChannelMode(TBool& aDowngrade)
   776 TInt TL2CapFecNegotiator::CheckNegotiatedChannelMode(TBool& aDowngrade)
   771 	{
   777 	{