本文整理汇总了C++中Queue::Status方法的典型用法代码示例。如果您正苦于以下问题:C++ Queue::Status方法的具体用法?C++ Queue::Status怎么用?C++ Queue::Status使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Queue
的用法示例。
在下文中一共展示了Queue::Status方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main( int argc, char * argv[] )
{
Process process;
Session session;
Queue * queue;
string fname = "/cpp_queue_status";
string qname = fname + "/test";
const char * data1 = "My Data1";
const char * data2 = "My Data2";
const char * data3 = "My Data3";
psoObjStatus status;
psoObjectDefinition queueDef = { PSO_QUEUE, 0, 0, 0 };
psoFieldDefinition fields[1] = {
{ "Field_1", PSO_VARCHAR, {10} }
};
try {
if ( argc > 1 ) {
process.Init( argv[1], argv[0] );
}
else {
process.Init( "10701", argv[0] );
}
}
catch( pso::Exception exc ) {
cerr << "Test failed in init phase, error = " << exc.Message() << endl;
cerr << "Is the server running?" << endl;
return 1;
}
try {
session.Init();
session.CreateFolder( fname );
DataDefinition dataDefObj( session,
"cpp_queue_status",
PSO_DEF_PHOTON_ODBC_SIMPLE,
(unsigned char *)fields,
sizeof(psoFieldDefinition) );
session.CreateQueue( qname,
queueDef,
dataDefObj );
queue = new Queue( session, qname );
queue->Push( data1, strlen(data1) );
queue->Push( data2, strlen(data2) );
queue->Push( data3, strlen(data3) );
}
catch( pso::Exception exc ) {
cerr << "Test failed - line " << __LINE__ << ", error = " << exc.Message() << endl;
return 1;
}
// End of invalid args. This call should succeed.
try {
queue->Status( status );
}
catch( pso::Exception exc ) {
cerr << "Test failed - line " << __LINE__ << ", error = " << exc.Message() << endl;
return 1;
}
if ( status.numDataItem != 3 ) {
cerr << "Test failed - line " << __LINE__ << endl;
return 1;
}
if ( status.numBlocks != 1 ) {
cerr << "Test failed - line " << __LINE__ << endl;
return 1;
}
if ( status.numBlockGroup != 1 ) {
cerr << "Test failed - line " << __LINE__ << endl;
return 1;
}
if ( status.freeBytes == 0 || status.freeBytes >=PSON_BLOCK_SIZE ) {
cerr << "Test failed - line " << __LINE__ << endl;
return 1;
}
return 0;
}