本文整理汇总了C++中TibrvMsg::updateString方法的典型用法代码示例。如果您正苦于以下问题:C++ TibrvMsg::updateString方法的具体用法?C++ TibrvMsg::updateString怎么用?C++ TibrvMsg::updateString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TibrvMsg
的用法示例。
在下文中一共展示了TibrvMsg::updateString方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateRvField
// ////////////////////////////////////////////////////////////////////////////
// Update char *
void UpdateRvField(TibrvMsg &msg, const char *field_name, const char *value,
tibrv_u16 field_id)
{
TibrvStatus rv_status;
if ((rv_status = msg.updateString(field_name, value, field_id)) != TIBRV_OK)
ThrowIfUpdateRvFieldError(rv_status, field_name, field_id);
}
示例2: main
int main(int argc, char** argv)
{
TibrvStatus status;
int i, j;
// open Tibrv
status = Tibrv::open();
if (status != TIBRV_OK)
{
fprintf(stderr,"Error: could not open TIB/RV, status=%d, text=%s\n",
(int)status,status.getText());
exit(-1);
}
// Get process transport
TibrvTransport* transport = Tibrv::processTransport();
// Create the queue
TibrvQueue queue;
queue.create();
// Create trigger queue
triggerQueue.create();
// Create wait queue
waitQueue.create();
// Create listener
TibrvListener listener;
listener.create(&queue,new MsgCallback(),transport,subject,NULL);
// Create message and set send subject in it.
TibrvMsg msg;
msg.setSendSubject(subject);
// Create two dispatchers
TibrvDispatcher dispatcher1, dispatcher2;
dispatcher1.create(&queue);
dispatcher2.create(&queue);
// Get start time
startTime = time(0);
// We use this to track the message number
int msgIndex = 0;
// Report we are starting to publish messages
printf("Started publishing messages at %d seconds\n\n",
(int)(time(0)-startTime));
fflush(stdout);
// Start publishing two messages at a time
// every second, total of TOTAL_MESSAGES messages
for (i=0; i<TOTAL_MESSAGES/2; i++)
{
// Publish 2 messages
for (j=0; j<2; j++)
{
char str[32];
msgIndex++;
sprintf(str,"value-%d",msgIndex);
msg.updateString("field",str);
transport->send(msg);
}
/* Sleep for 1 second if we have not done publishing */
if (i < TOTAL_MESSAGES/2-1)
{
waitQueue.timedDispatch((tibrv_f64)1.0);
}
}
// Report we've published all messages
printf("\nStopped publishing messages at %d seconds\n\n",
(int)(time(0)-startTime));
fflush(stdout);
// We should not quit main because that will
// cause the program to quit before we
// process all messages.
// Wait until we process all messages and
// post an event into the trigger queue which
// will cause dispatch() to return.
triggerQueue.dispatch();
// Report we have processed all messages
printf("\nProcessed all messages in %d seconds\n",(int)(time(0)-startTime));
fflush(stdout);
// Close Tibrv
Tibrv::close();
return 0;
}
示例3: main
int main(int argc, char** argv)
{
TibrvStatus status;
int i;
// open Tibrv
status = Tibrv::open();
if (status != TIBRV_OK)
{
fprintf(stderr,"Error: could not open TIB/RV, status=%d, text=%s\n",
(int)status,status.getText());
exit(-1);
}
// get process transport
TibrvTransport* transport = Tibrv::processTransport();
// create two queues
TibrvQueue queue1;
TibrvQueue queue2;
queue1.create();
queue2.create();
// Set priorities
queue1.setPriority(1);
queue2.setPriority(2);
// Create queue group and add queues
TibrvQueueGroup group;
group.create();
group.add(&queue1);
group.add(&queue2);
// Create callback object
MsgCallback* callback = new MsgCallback();
// Create listeners
TibrvListener listener1, listener2;
listener1.create(&queue1,callback,transport,subject1,NULL);
listener2.create(&queue2,callback,transport,subject2,NULL);
TibrvMsg msg;
// Send 10 messages on subject1
msg.setSendSubject(subject1);
for (i=0; i<10; i++)
{
char valstr[32];
sprintf(valstr,"value-1-%d",(i+1));
msg.updateString("field",valstr);
transport->send(msg);
}
// Send 10 messages on subject2
msg.setSendSubject(subject2);
for (i=0; i<10; i++)
{
char valstr[32];
sprintf(valstr,"value-2-%d",(i+1));
msg.updateString("field",valstr);
transport->send(msg);
}
// Dispatch the group. When all events are
// dispatched timedDispatch() will return
// TIBRV_TIMEOUT so we'll break out the while() loop.
while (group.timedDispatch(1) == TIBRV_OK);
// Close Tibrv
Tibrv::close();
return 0;
}