31 #include <cs_subconparams.h> |
31 #include <cs_subconparams.h> |
32 #include <networking/qos3gpp_subconparams.h> |
32 #include <networking/qos3gpp_subconparams.h> |
33 |
33 |
34 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW |
34 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW |
35 #include <tcpdfltrecvwin.h> |
35 #include <tcpdfltrecvwin.h> |
|
36 // Custom type for WLAN bearer |
|
37 const TUint32 KNetMcprWlanBearer = 0x3C; |
36 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW |
38 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW |
37 #include <commsdattypeinfov1_1_internal.h> |
39 #include <commsdattypeinfov1_1_internal.h> |
38 |
40 |
39 #if defined __CFLOG_ACTIVE || defined SYMBIAN_TRACE_ENABLE |
41 #if defined __CFLOG_ACTIVE || defined SYMBIAN_TRACE_ENABLE |
40 #define KNetMCprTag KESockMetaConnectionTag |
42 #define KNetMCprTag KESockMetaConnectionTag |
475 iBearerInfoMap.Insert(KHsdpaBearer,KBearerHsdpaWinSize); |
477 iBearerInfoMap.Insert(KHsdpaBearer,KBearerHsdpaWinSize); |
476 |
478 |
477 //TCP receive window size for ethernet |
479 //TCP receive window size for ethernet |
478 iBearerInfoMap.Insert(KEthernetBearer,KBearerEthernetWinSize); |
480 iBearerInfoMap.Insert(KEthernetBearer,KBearerEthernetWinSize); |
479 |
481 |
|
482 //TCP receive window size for WLAN bearer |
|
483 iBearerInfoMap.Insert(KNetMcprWlanBearer,KBearerWlanWinSize); |
|
484 |
480 //TCP receive window size for other bearer |
485 //TCP receive window size for other bearer |
481 iBearerInfoMap.Insert(KDefaultBearer,KBearerWlanWinSize); |
486 iBearerInfoMap.Insert(KDefaultBearer,KBearerDefaultWinSize); |
482 } |
487 } |
483 |
488 |
484 void CDfltTCPReceiveWindowSize::SetTcpWin(TUint aBearerType) |
489 void CDfltTCPReceiveWindowSize::SetTcpWin(TUint aBearerType) |
485 /** |
490 /** |
486 * Set TCP receive window |
491 * Set TCP receive window |
487 */ |
492 */ |
488 { |
493 { |
489 //Set the TCP Receive Window. |
494 // Get bearer window size from hash table |
490 iWinSize = *static_cast<TUint*>(iBearerInfoMap.Find(aBearerType)); |
495 TUint* iWinSizePtr = static_cast<TUint*>(iBearerInfoMap.Find(aBearerType)); |
|
496 |
|
497 // Check whether bearer type was known |
|
498 if ( iWinSizePtr != NULL ) |
|
499 { |
|
500 // Set the TCP Receive Window |
|
501 iWinSize = *iWinSizePtr; |
|
502 } |
|
503 else |
|
504 { |
|
505 // Use default window |
|
506 iWinSize = KBearerDefaultWinSize; |
|
507 } |
491 |
508 |
492 //Set the Max TCP receive Window. |
509 //Set the Max TCP receive Window. |
493 SetMaxWinSize(aBearerType); |
510 SetMaxWinSize(aBearerType); |
494 } |
511 } |
495 |
512 |
509 // |
526 // |
510 // TCP receive window size will be maximum for HSDPA bearers. |
527 // TCP receive window size will be maximum for HSDPA bearers. |
511 // |
528 // |
512 iMaxWinSize = KBearerHsdpaWinSize; |
529 iMaxWinSize = KBearerHsdpaWinSize; |
513 break; |
530 break; |
514 case KEthernetBearer: |
531 case KNetMcprWlanBearer: |
515 iMaxWinSize = KEthernetMaxWinSize; |
532 iMaxWinSize = KBearerWlanWinSize; |
516 break; |
533 break; |
517 |
534 |
|
535 case KEthernetBearer: |
|
536 iMaxWinSize = KEthernetMaxWinSize; |
|
537 break; |
|
538 |
518 default: |
539 default: |
519 iMaxWinSize = KEthernetMaxWinSize; |
540 iMaxWinSize = KBearerDefaultMaxWinSize; |
520 break; |
541 break; |
521 } |
542 } |
522 } |
543 } |
523 |
544 |
524 |
545 |