Gets/Sets the delivery mode of a message type.
The delivery mode of a message type is used as the default
delivery mode for messages of this type. When a message is
created, its delivery mode is initialized to the message
type delivery mode.
The default message type delivery mode is DELIVERY_BEST_EFFORT.
In this mode, no special actions are taken to ensure
delivery of sent messages. The message is delivered unless
network failures or process failures occur. If the message
is not delivered, there is no way for the sender to know
that the delivery failed.
In the case of a network or process failure, a more useful
delivery mode is DELIVERY_ORDERED.
Messages can still be lost in the event of a failure, but
all delivered messages are received in the order in which
they were published.
Another delivery mode is DELIVERY_SOME.
In this mode, the sending process saves a copy of the
message until the message is successfully delivered, and
the sender can also resend the message if necessary.
Delivery is considered successful if the sent message
is acknowledged by at least one receiving process.
The most robust delivery mode is DELIVERY_ALL.
In this mode, the sending process saves a copy of the
message until the message is successfully delivered, and
the sender can also resend the message if necessary.
Delivery is not considered successful until all receiving
processes acknowledge the sent message.
The delivery mode of an outgoing message can always be set
on a per-message basis, but using the message type delivery
modes makes it easier to change the default delivery mode
mode for all outgoing messages of a specific type. The
standard Smartsockets message type by default all have a
delivery mode of DELIVERY_BEST_EFFORT,
but these can be changed if desired. User-defined message
types can also use whatever delivery mode is appropriate.
Gets/Sets the delivery timeout of a message type.
The delivery timeout of a message controls how long to wait
for guaranteed message delivery to complete when a message
is sent through a connection. The delivery timeout of a
message type is used as the default delivery timeout for
messages of this type. When a message is created, its
delivery timeout is initialized to the message type delivery
timeout.
The delivery timeout of an outgoing message can always be
set on a per-message basis, but using the message type
delivery timtout makes it easier to change the default
delivery timeout for all outgoing message of a specific
type. The standard SmartSockets message types by default
all have a delivery timeout of unknown, but these can be
changed. User-defined message types can also use whatever
delivery timeout is appropriate
Gets the grammar of a message type.
Message types grammars are lists of field types and are
used to write message to message files in a compact
format.
Gets/Set the load balancing mode of a message type.
The load balancing mode of a message controls how (or if)
the message is load balanced among RTclients subscribed
to a load balanced subject. The load balancing mode of a
message type is used as the default load balancing mode
for message of this type. When a message is created, its
load balancing mode is initialized to the message type
load balancing mode.
Valid load balancing modes: LB_NONE,
LB_ROUND_ROBIN,
LB_SORTED, and
LB_WEIGHTED
The load balancing mode of an outgoing message can always
be set on a per-message basis, but using message type
load balancing mode makes it easier to change the default
load balancing mode for all ougoing messages of a specific
type. The standard SmartSockets message types by default
all have a load balancing mode of LB_NONE
Gets/Sets the priority of a message type.
The priority of a message type, if set, is used as the
default priority of for messages of this type. The message
type priority can either be set to a specific value or it
can be unknown. When a message is created, its priority is
initialized to the message type priority (if set) or to
the value of the option Default_Msg_Priority (if the message
type priority is unknown).
The priority of an outgoing message can always be set on a
per-message basis, but using message type priorities makes
it easier to raise or lower the default priority for all
outgoing messages of a specific type. The standard SmartSockets
message types by default all have a priority of unknown, but
these can be changed. User-defined message types can also
use whatever priority is appropriate.
When a message type is first created, its priority is
initialized to unknown.