Standard Message Types


The standard message types are listed in the C header file msgmt.h. This file is located in:

UNIX:
$RTHOME/include/$RTARCH/rtworks 
OpenVMS:
rthome:[include.rtworks] 
Windows:
%RTHOME%\include\rtworks 

A standard message type is written differently depending on the context in which it is used. For example, consider the NUMERIC_DATA message type. When written to a message file, the message type name is printed as numeric_data and is not case sensitive. For a complete discussion of message files, see Message Files. When referred to in C code, the message type number is written as T_MT_NUMERIC_DATA and is case sensitive.

When messages between RTserver and RTclient are being logged to a message file, the standard message types are divided into three categories: data, status, and internal. For more information on these logging types, see Message File Logging Categories.

This table lists all the standard message types. Each grammar element shows the field type followed by a comment that gives a brief description of the field. The monitoring message types (named MON_*) are considered standard message types, but are discussed in detail in Chapter 5, Project Monitoring.

Message Type
Grammar
Description
ADMIN_SET
str /*connection or group name*/
int4 /*value*/
int4 /*value*/
real8 /*value*/
Values to dynamically set for options applying to the connection or group channel.
For more information, see the ADMIN_SET message types used for RTserver Options and RTgms Options.
BOOLEAN_DATA
{ id /*name*/
bool /*value*/ }
Boolean slot values
CONTROL
str /*command*/
Command for command interface
ENUM_DATA
{ id /*name*/
id /*value*/ }
Enumerated slot values
GMD_ACK
int4 /*seq_num*/
Internal GMD acknowledgment (used by all connections)
GMD_DELETE
int4 /*seq_num*/
Delete a message in RTserver after a GMD failure (used only from RTclient to RTserver)
GMD_FAILURE
msg /*undelivered_msg*/
str /*failed_process*/
int4 /*err_num*/
real8 /*send_time*/
Unified GMD failure notification built and processed by sender
GMD_INIT_CALL
str /*subject*/
Initialize GMD or load balancing accounting in RTserver for a subject to which messages will be published
GMD_INIT_RESULT
str /*subject*/
GMD or load balancing initialization result from RTserver
GMD_STATUS_CALL
int4 /*seq_num*/
Poll RTserver for GMD status
GMD_STATUS_RESULT
int4 /*seq_num*/
str_array /*success_clients*/
str_array /*failure_clients*/
str_array /*pending_clients*/
GMD status result from RTserver
JMS_BYTES
binary /*byte_array*/
Type of JMS message containing a stream of uninterpreted bytes
JMS_MAP
{str str} /*name_value_pairs*/
Type of JMS message whose body contains a set of name/value pairs where names are strings, and values are primitive types. The entries can be accessed sequentially or randomly by name. The order is undefined.
JMS_OBJECT
binary /*serialized_Java_object*/
Type of JMS message containing a serialized Java object
JMS_STREAM
verbose /*primitives*/
Type of JMS message containing a stream of primitive values, such as INT or DOUBLE
JMS_TEXT
str /*arbitrary_string*/
Type of JMS message containing a string
NUMERIC_DATA
{ id /*name*/
real8 /*value*/ }
Numeric slot values
STRING_DATA
{ id /*name*/
str /*value*/ }
String slot values

For most standard SmartSockets message types, the delivery mode is set to T_IPC_DELIVERY_BEST_EFFORT. Note that for JMS message types, such as JMS_MAP, the delivery mode is set to T_IPC_DELIVERY_ORDERED.

Any message type can be looked up by name with the function TipcMtLookup or looked up by number with the function TipcMtLookupByNum. For example:

mt = TipcMtLookup("numeric_data"); 
mt = TipcMtLookupByNum(T_MT_STRING_DATA); 

TIBCO SmartSockets™ User’s Guide
Software Release 6.8, July 2006
Copyright © TIBCO Software Inc. All rights reserved
www.tibco.com