diff -r 39bb7c3571e9 -r 052078dda061 networkcontrol/iptransportlayer/src/netmcpr.cpp --- a/networkcontrol/iptransportlayer/src/netmcpr.cpp Mon May 03 13:58:16 2010 +0300 +++ b/networkcontrol/iptransportlayer/src/netmcpr.cpp Tue Jun 29 19:20:22 2010 +0530 @@ -33,6 +33,8 @@ #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW #include +// Custom type for WLAN bearer +const TUint32 KNetMcprWlanBearer = 0x3C; #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW #include @@ -477,8 +479,11 @@ //TCP receive window size for ethernet iBearerInfoMap.Insert(KEthernetBearer,KBearerEthernetWinSize); + //TCP receive window size for WLAN bearer + iBearerInfoMap.Insert(KNetMcprWlanBearer,KBearerWlanWinSize); + //TCP receive window size for other bearer - iBearerInfoMap.Insert(KDefaultBearer,KBearerWlanWinSize); + iBearerInfoMap.Insert(KDefaultBearer,KBearerDefaultWinSize); } void CDfltTCPReceiveWindowSize::SetTcpWin(TUint aBearerType) @@ -486,8 +491,20 @@ * Set TCP receive window */ { - //Set the TCP Receive Window. - iWinSize = *static_cast(iBearerInfoMap.Find(aBearerType)); + // Get bearer window size from hash table + TUint* iWinSizePtr = static_cast(iBearerInfoMap.Find(aBearerType)); + + // Check whether bearer type was known + if ( iWinSizePtr != NULL ) + { + // Set the TCP Receive Window + iWinSize = *iWinSizePtr; + } + else + { + // Use default window + iWinSize = KBearerDefaultWinSize; + } //Set the Max TCP receive Window. SetMaxWinSize(aBearerType); @@ -511,12 +528,16 @@ // iMaxWinSize = KBearerHsdpaWinSize; break; - case KEthernetBearer: - iMaxWinSize = KEthernetMaxWinSize; + case KNetMcprWlanBearer: + iMaxWinSize = KBearerWlanWinSize; break; + case KEthernetBearer: + iMaxWinSize = KEthernetMaxWinSize; + break; + default: - iMaxWinSize = KEthernetMaxWinSize; + iMaxWinSize = KBearerDefaultMaxWinSize; break; } }