コード例 #1
0
// ---------------------------------------------------------------------------
// CUpnpTcpSessionWriter::SendNextWriteRequestL
// Function checks if there are any write requests left and if there are then
// issues writing and removes this request from queue.
// ---------------------------------------------------------------------------
//
void CUpnpTcpSessionWriter::SendNextWriteRequestL()
    {
    LOGS2( "%i, CUpnpTcpSessionWriter::SendNextWriteRequest(), iState %i",
    		iSession.Id() , iState );
    switch( iState )
        {
        case EWaiting:
            // Write queued request
            if ( iWriteRequestList.Count() > 0 )
            		{
                CUpnpTcpWriteRequest* req = iWriteRequestList[0];
                if ( req )
                    {
                    iWriteRequestList.Remove(0);
                    iWriteRequestList.Compress();
                    CleanupStack::PushL( req );
                    IssueWriteL( req->Buffer() );
                    CleanupStack::PopAndDestroy( req );
                    }
            }
            break;

        case ENotConnected:
        case EDisconnected:
            LOGS2( "%i, PANIC: CUpnpTcpSessionWriter::SendNextWriteRequest, %i",
            		iSession.Id() , iState );
            User::Panic( _L("SendNext::ENotConnected or EDisconnected"), iState );
            break;
        }
    }  
コード例 #2
0
void CSocketsWriter::TestBW()
	{
		TInt i;

		bWaitBuffering = EFalse;
		iBufBW.Zero();
		for (i=0;i<KWriteBufferSizeTest+1;i++){
			if (!(i%1000) && i)
			{	IssueWriteL(iBufBW);
				iBufBW.Zero();
			}
			iBufBW.Append(0);
		}
	}