Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 6 Data : Messages

Messages
A Rendezvous self-describing message is a composite containing zero or more fields. All messages have type TIBRVMSG_MSG (including nested submessages).
Each field in turn contains self-describing data. That is, each field consists of several parts—name, identifier (optional), data, type, size and count (number of array elements). Fields can be of any type (see Table 13). Wire format permits arbitrarily deep nesting of submessages.
Messages are flexible. Unlike C structs, the actual fields present in a message need not be fixed at compile time.
Consider this schematic illustration of the fields in a message.
 
Sending programs build self-describing messages by creating an empty message, and then adding fields—one by one. You can add fields in any order.
Receiving programs can access individual fields by name or by identifier, or iterate through all the fields in a single-pass loop.
Message Structure
All messages contain data within fields. You cannot send a message consisting of a pure numeric value; instead use a message with a single field that contains a numeric value.
* If a legacy program sends a unitary message to a new program, Rendezvous automatically converts it to a (composite) message, with the unitary value stored in a field named _data_.
The field name _data_ is reserved. More generally, all fields that begin with the underscore character are reserved.
Message Representation in Programs
Rendezvous software uses a proprietary wire format for transmitting data across networks, but programs must represent and manipulate data at either end of the transmission. Programming languages offer different approaches to internal data representation and manipulation. Within programs, Rendezvous software represents data in a way that makes sense for each supported language.
Messages are not Thread-Safe
 

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved