Open topic with navigation

# Storage of Field Values within Messages

Values stored in a message field are part of the message, that is, they reside in memory associated with the message, and allocated by the library.

When a field’s type is a primitive type, calls that get the field’s value copy that value from the message. In contrast, when a field’s type is non-primitive, calls that get the field’s value return a pointer to memory within the message. (The fourth column of the table in Field Data Type Reference indicates primitive and non-primitive types.)

Programs must not modify non-primitive values that reside in memory associated with a message. For example, you must not set the value of a cell in a long array extracted from a message.

Furthermore, non-primitive values remain valid only for a limited time:

- A subsequent call that sets the value of that field invalidates a pointer returned by a preceding get call.
- Destroying the message invalidates all pointers returned by preceding get calls.

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 FTL® - Enterprise Edition

Copyright © 2009-2024. Cloud Software Group, Inc. All Rights Reserved.