applayerpluginsandutils/httptransportplugins/httptransporthandler/csocket.cpp
branchRCL_3
changeset 53 c59bddbfd7b9
parent 40 a0da872af3fa
equal deleted inserted replaced
40:a0da872af3fa 53:c59bddbfd7b9
    25 const TInt KDefaultFlags		= 0;
    25 const TInt KDefaultFlags		= 0;
    26 const TInt KTcpTriggeredKeepAlive	= 2;
    26 const TInt KTcpTriggeredKeepAlive	= 2;
    27 const TInt KSocketRecvBufSize = 16 * 1024;
    27 const TInt KSocketRecvBufSize = 16 * 1024;
    28 const TInt KSocketSendBufSize = 16 * 1024;
    28 const TInt KSocketSendBufSize = 16 * 1024;
    29 const TInt KSocketDefaultSendBufSize = 4 * 1024;
    29 const TInt KSocketDefaultSendBufSize = 4 * 1024;
    30 const TUint32 KSoTcpLingerinMicroSec = 0x101F55F6;//linger constant to send close connection fast
    30 
       
    31 const TUint32 TSoTcpLingerinMicroSec = 0x101F55F6;//linger constant to send close connection fast
       
    32 
    31 
    33 
    32 CSocket* CSocket::NewL(MCommsInfoProvider& aCommsInfoProvider, TSocketType aSocketType)
    34 CSocket* CSocket::NewL(MCommsInfoProvider& aCommsInfoProvider, TSocketType aSocketType)
    33 /**	
    35 /**	
    34 	The factory constructor.
    36 	The factory constructor.
    35 	@param		aCommsInfoProvider	The comms info provider object.
    37 	@param		aCommsInfoProvider	The comms info provider object.
   136         if(aSocketType != EBlankSocket)
   138         if(aSocketType != EBlankSocket)
   137             {
   139             {
   138             iSocket.SetOpt(KSoTcpNoDelay,KSolInetTcp,1);  // Disable the nagle.
   140             iSocket.SetOpt(KSoTcpNoDelay,KSolInetTcp,1);  // Disable the nagle.
   139             iSocket.SetOpt(KSORecvBuf, KSOLSocket, KSocketRecvBufSize); // Set the socket recv buf to be 16K
   141             iSocket.SetOpt(KSORecvBuf, KSOLSocket, KSocketRecvBufSize); // Set the socket recv buf to be 16K
   140             }
   142             }
   141         
       
   142         TInt lingerTimeout = iCommsInfoProvider.GetSocketImmediateCloseTimeout();
   143         TInt lingerTimeout = iCommsInfoProvider.GetSocketImmediateCloseTimeout();
   143         if (lingerTimeout != KErrNotFound)
   144         if (lingerTimeout != KErrNotFound)
   144             {
   145             {
   145             TPckgBuf<TSoTcpLingerOpt> linger;
   146             TPckgBuf<TSoTcpLingerOpt> linger;
   146             linger().iOnOff  = 1;
   147             linger().iOnOff  = 1;
   147             linger().iLinger =  lingerTimeout;
   148             linger().iLinger =  lingerTimeout;
   148             iSocket.SetOpt(KSoTcpLingerinMicroSec, KSolInetTcp, linger);
   149             iSocket.SetOpt(TSoTcpLingerinMicroSec, KSolInetTcp, linger);
   149             }
   150             }
   150         
       
   151         }
   151         }
   152     return error;
   152     return error;
   153     }
   153     }
   154 
   154 
   155 TInt CSocket::Listen(TUint aQSize, TUint16 aPort)
   155 TInt CSocket::Listen(TUint aQSize, TUint16 aPort)