nn::nex::BundlingPolicy Class

Syntax

class BundlingPolicy : public nn::nex::RootObject

Description

Controls the message bundling feature.

You can use message bundling to economize on network bandwidth. This class controls how messages are bundled before being sent. The local station creates a separate message bundle for sending over the network to each remote station that the local station has already confirmed to exist. Before any messages are sent to the remote stations, they are accumulated in the corresponding message bundle buffers. However, messages sent by DirectTransport or DirectStream are not accumulated this way.

The message bundles can be sent either automatically or manually. When message bundles are sent automatically, the frequency at which they are sent is determined by whether the maximum time as set by the SetMaximumFlushDelay function has elapsed and whether the maximum message size has been reached. As soon as either (or both) of these conditions is met, the message bundle is sent to the remote station. On the other hand, when message bundles are sent manually, you can send them using either the Station::FlushBundle function or the Station::FlushAllBundles function. These functions will send the messages regardless of the settings for maximum bundle size and delay time.

The standard settings for this class are for it to be enabled, with a maximum delay time of 0, and with messages bundled and sent for each dispatch.

Unreliable messages (those not guaranteed to arrive) to send to everyone and reliable messages (those guaranteed to arrive) are stored in different queues and bundled. Individually sent unreliable messages are not bundled.

System-defined reliable messages are created in large numbers, when duplica of duplicated objects are synchronized. Some examples of user-defined reliable messages include: datasets for which reliable updating is specified, continuity breaks in dead reckoning (see the DataSet::IndicateContinuityBreak function), and remote method calls (RMCs) for which the SendUnreliableMessage flag is not set in CallContext::Flags.

For details about message bundling, see the NEX Programming Manual.

Member Functions

BundlingPolicy Do not call this constructor from applications.
V ~BundlingPolicy Do not call this destructor from applications.
Enable Enables message bundling.
Disable Disables message bundling.
IsEnabled Determines whether message bundling is enabled or disabled.
SetMaximumFlushDelay Specifies the delay time to wait while accumulating messages before sending them.
GetMaximumFlushDelay Gets the maximum delay time, in milliseconds.
SetEnableUnreliableBundling Specifies whether to bundle unreliable messages.
IsEnableUnreliableBundling Determines whether unreliable messages are being bundled.
S GetInstance Gets an instance of BundlingPolicy.

Class Hierarchy

nn::nex::RootObject
  nn::nex::BundlingPolicy

Revision History

2011/01/28
Initial version.

CONFIDENTIAL