CMMessage

Class

Superclasses

System.Object
  Message
    CMMessage

Visual Basic

Public Class CMMessage
  Inherits Message

C#

public class CMMessage : Message

Purpose

Represent labeled messages.

Method

Description

Page

Message Life Cycle and Properties

CMMessage

Create a CM message object.

CMMessage

Member

Description

 

Public Instance Properties

FieldCount uint

The number of fields in the message. (Inherited from Message.)

This count includes only the immediate fields of the message; it does not include fields within recursive submessages.

Get

ReplySubject string

The reply subject of the message. (Inherited from Message.)

For more information, see Subjects.

Get

Set

Sender string

The correspondent name of the sender transport that sent the certified message.

Get

SendSubject string

The destination subject of the message. (Inherited from Message.)

When this property is null, the message is unsendable.

For more information, see Subjects.

Get

Set

SequenceNumber ulong

The sequence number of the certified message. For details, see Sequence Number.

Get

Size uint

The size of the message (in bytes). (Inherited from Message.)

Get

TimeLimit double

The message time limit of the certified message. For details, see Sequence Number.

Get

Set

Inherited Methods

Message.AddField

Message.Expand

Message.GetField

Message.GetFieldByIndex

Message.GetFieldInstance

Message.RegisterCustomDataType

Message.RemoveField

Message.RemoveFieldInstance

Message.Reset

Message.ToByteArray

Message.UpdateField

Sequence Number

Rendezvous certified delivery sending methods automatically generate positive sequence numbers for outbound labeled messages.

In receiving programs, the sequence number property indicates whether an inbound message is certified:

If the message is from a CM sender, and the CM listener is registered for certified delivery with that sender, then the SequenceNumber property is a valid sequence number.
If the message is from a CM sender, but the listener is not registered for certified delivery, then attempting to get the SequenceNumber property throws an exception with the status code NotFound.

Notice that the first labeled message that a program receives on a subject might not be certified; that is, the sender has not registered a certified delivery agreement with the listener. If appropriate, the certified delivery library automatically requests that the sender register the listener for certified delivery. (See Discovery and Registration for Certified Delivery in TIBCO Rendezvous Concepts.)

An uncertified CM message can also result when the sender explicitly disallows or removes the listener.

Note 

Release 5 Interaction

In release 6 (and later) the sequence number is a 64-bit unsigned integer, while in older releases (5 and earlier) it is a 32-bit unsigned integer.

When 32-bit senders overflow the sequence number, behavior is undefined.

When 64-bit senders send sequence numbers greater than 32 bits, 32-bit receivers detect malformed label information, and process the message as an ordinary reliable message (uncertified and unlabeled).

Time Limit

Every labeled message has a time limit, after which the sender no longer certifies delivery. Time limits represent the minimum time that certified delivery is in effect.

Outbound Messages

Sending programs can explicitly set the message time limit property (before sending a CM message). If the time limit property is not already set for the outbound message, CMTransport.Send sets it to the transport’s default time limit (see DefaultTimeLimit); if that default is not set for the transport, the default time limit is zero (no time limit).

Time limit values must be non-negative, and represent a whole number seconds.

It is meaningful to set this property only on outbound messages.

Inbound Messages

Zero is a special value, indicating no time limit.

This value represents the total time limit of the message, not the time remaining.

See Also

Message