本文整理汇总了C++中RBuf8::CreateMax方法的典型用法代码示例。如果您正苦于以下问题:C++ RBuf8::CreateMax方法的具体用法?C++ RBuf8::CreateMax怎么用?C++ RBuf8::CreateMax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RBuf8
的用法示例。
在下文中一共展示了RBuf8::CreateMax方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void CTcpClientTestUPnP1::ReceivedL ( const TRuntimeCtxId& /*aSender*/, const TNodeId& /*aRecipient*/, TSignatureBase& aMessage )
{
if ( aMessage.IsMessage<TCFFactory::TPeerFoundOrCreated> () )
{
const TCFFactory::TPeerFoundOrCreated& msg = message_cast < const TCFFactory::TPeerFoundOrCreated > ( aMessage );
iClientId = msg.iNodeId;
CompleteSelf ( KErrNone );
}
else if ( aMessage.IsMessage<TUpnpMessage::TResponse > () )
{
TUpnpMessage::TResponse& msg = message_cast< TUpnpMessage::TResponse >(aMessage);
RBuf8 responseBodyData;
responseBodyData.CreateMax ( msg.iBodyData.Length () );
responseBodyData.FillZ ( msg.iBodyData.Length () );
msg.iBodyData.CopyOut ( responseBodyData );
responseBodyData.Close ();
msg.iBodyData.Free ();
CompleteSelf(EPass);
}
else if ( aMessage.IsMessage<TEBase::TError > () )
{
iLogger.WriteFormat(_L("<i>TEBase::TError..... </i>"));
CompleteSelf(EFail);
}
}
示例2:
void CTcpServerTestUPnP23::RecvComplete ( RMBufChain& aData )
{
RBuf8 responseBuf;
responseBuf.CreateMax ( aData.Length () );
aData.CopyOut ( responseBuf );
aData.Free ();
if ( responseBuf.FindF ( KExpectedResponse ) != KErrNotFound )
{
iSocketHandler.Recv ();
responseBuf.Close ();
return;
}
if ( responseBuf.FindF ( KResponseData ) == KErrNotFound )
{
iResponse = EFail; // test case failed
}
else
{
iResponse = EPass; // test case passed
}
responseBuf.Close ();
CompleteSelf ( KErrNone );
}
示例3:
void CTcpServerTestUPnP40::RecvComplete ( RMBufChain& aData )
{
RBuf8 responseBuf;
responseBuf.CreateMax ( aData.Length () );
aData.CopyOut ( responseBuf );
aData.Free ();
if ( responseBuf.FindF ( KExpectedResponse3 ) != KErrNotFound )
{
iSocketHandler.Recv ();
responseBuf.Close ();
return;
}
if ( responseBuf.FindF ( KResponseData ) != KErrNotFound )
{
TRAP_IGNORE(iSendChain.CreateL ( KData32 ));
iSocketHandler.Send ( iSendChain );
responseBuf.Close ();
return;
}
if ( responseBuf.FindF ( KExpectedResponse32 ) != KErrNotFound )
{
iResponse = EPass; // test case Passed
}
else
{
iResponse = EFail; // test case failed
}
responseBuf.Close ();
CompleteSelf ( KErrNone );
}
示例4: doTestStepL
TVerdict CBigSendRecvRtp::doTestStepL()
/**
* @return - TVerdict code
*/
{
SetTestStepResult(EFail);
if(KErrNone == InitSocketsL())
{
iIpAddrDest1.SetPort(9000);
RBuf8 sendBuf;
sendBuf.CreateMax(KBufferSize1);
sendBuf.CleanupClosePushL();
RBuf8 recvBuf;
recvBuf.CreateMax(KBufferSize1);
recvBuf.CleanupClosePushL();
/* Fill the buffer with given character upto its length */
sendBuf.Fill('Q');
TRequestStatus status;
/* do a Send of the data */
iRtpSocket.SendTo(sendBuf, iIpAddrDest1, NULL, status);
User::WaitForRequest(status);
User::LeaveIfError(status.Int());
/* Now do a Receive */
recvBuf.FillZ();
iRtpSocket.RecvFrom(recvBuf,iIpAddrDest1,NULL,status);
User::WaitForRequest(status);
User::LeaveIfError(status.Int());
/* Obtain a TPtr of the data excluding the RTP header */
TPtr8 sendBufPtr = sendBuf.MidTPtr(KRtpHeaderSize);
TPtr8 recvBufPtr = recvBuf.MidTPtr(KRtpHeaderSize);
/* Check if the data received is the same as the data sent */
TInt ret = sendBufPtr.Compare(recvBufPtr);
if(ret == 0)
{
/* Increase the buffer size and fill it up with given data */
sendBuf.ReAlloc(KBufferSize2);
recvBuf.ReAlloc(KBufferSize2);
sendBuf.Fill('Q', KBufferSize2);
/* Send the larger data */
iRtpSocket.SendTo(sendBuf, iIpAddrDest1, NULL, status);
User::WaitForRequest(status);
User::LeaveIfError(status.Int());
/* Now do a Receive */
recvBuf.FillZ(KBufferSize2);
iRtpSocket.RecvFrom(recvBuf,iIpAddrDest1,NULL,status);
User::WaitForRequest(status);
User::LeaveIfError(status.Int());
/* Get pointer to data and compare both of them */
TPtr8 sendBufPtr = sendBuf.MidTPtr(KRtpHeaderSize);
TPtr8 recvBufPtr = recvBuf.MidTPtr(KRtpHeaderSize);
TInt ret = sendBufPtr.Compare(recvBufPtr);
if(ret == 0)
{
SetTestStepResult(EPass);
}
}
CleanupStack::PopAndDestroy(2);
}
return TestStepResult();
}
示例5: CreateVerifyFileX
LOCAL_C TInt CreateVerifyFileX(const TDesC& aFileName, TInt aSize, RFs& aFs, TInt aPattern)
//
// Create and verify a file.
//
{
// Note, the directory structure is provided by MakeFileName(). Hence it
// is assumed at this point that the path to the file exists already.
RFile file;
TInt r;
r = file.Replace(aFs, aFileName, EFileWrite);
if (r!=KErrNone)
{
LogError( r, KReplace, aFileName, EFileWrite, 0 );
return(r);
}
// Grow it to the specified size by writing a pattern buffer to it
// Alternate the pattern buffer each time
RBuf8 wBuf;
r = wBuf.CreateMax(KCreateFileBufSize);
if(r != KErrNone)
{
LogError(r, KMemory, aFileName, 0, 0, __LINE__);
wBuf.Close();
file.Close();
return(r);
}
TInt i;
if (aPattern)
{
// ascending pattern
for (i = 0; i < KCreateFileBufSize; i++)
{
wBuf[i] = (TUint8) i;
}
}
else
{
// descending pattern
for (i = 0; i < KCreateFileBufSize; i++)
{
wBuf[i] = (TUint8) ((KCreateFileBufSize - 1) - i);
}
}
TInt pos;
TInt chunkSize;
TInt sectorCount = 0;
for (pos = 0; pos < aSize; pos += chunkSize)
{
wBuf[0]=(TUint8)i; // Insert sector count
chunkSize = Min((aSize-pos), KCreateFileBufSize);
r = file.Write(pos, wBuf, chunkSize);
if (r != KErrNone)
{
LogError(r, KWrite, aFileName, pos, chunkSize, __LINE__);
file.Close();
wBuf.Close();
return(r);
}
sectorCount++;
}
// Flush it
r=file.Flush();
if (r!=KErrNone)
{
LogError( r, KFlush, aFileName, 0, 0, __LINE__);
file.Close();
wBuf.Close();
return(r);
}
// Test still works if this is commented out just doesn't verify
// Read back and verify it
RBuf8 rBuf;
r = rBuf.CreateMax(KCreateFileBufSize);
if(r != KErrNone)
{
LogError( r, KMemory, aFileName, 0, 0, __LINE__);
file.Close();
wBuf.Close();
rBuf.Close();
return(KErrGeneral);
}
for (pos = 0;pos < aSize; pos += chunkSize)
{
chunkSize = Min((aSize-pos), KCreateFileBufSize);
r = file.Read(pos, rBuf, chunkSize);
if (r != KErrNone)
{
LogError(r, KRead, aFileName, pos, 0, __LINE__);
file.Close();
//.........这里部分代码省略.........