Open topic with navigation

TIBCO Rendezvous® 8.7.0

# 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 Wire Format Datatypes). 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.

Field Name | Id | Type | Size | Count | Data
`Name` | `1` | `TIBRVMSG_STRING` | `11` | `1` | `Jane Smith`
`Address` | `2` | `TIBRVMSG_STRING` | `30` | `1` | `1234 Home Street` `Anytown, USA`
`Phone` | `3` | `TIBRVMSG_STRING` | `13` | `1` | `415-123-4567`
`Age` | `4` | `TIBRVMSG_U8` | `1` | `1` | `46`
`Scores` | `5` | `TIBRVMSG_U8ARRAY` | `1` | `5` | `91, 99, 97, 99, 92`

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.

Note: 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

Warning | Messages are not thread-safe objects; a program that accesses the same message simultaneously in separate threads must protect the message with an explicit locking mechanism. We expect this situation to occur only rarely.

Did you find this helpful?

Yes No
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO Rendezvous®

Copyright © 1997-2023. Cloud Software Group, Inc. All Rights Reserved.