TipcSrvSubjectSetSubscribeLb


Name

TipcSrvSubjectSetSubscribeLb — start or stop subscribing to a subject, with or without load balancing

Synopsis

T_BOOL TipcSrvSubjectSetSubscribeLb(subject, subscribe_status, 
                                    lb_status) 
T_STR subject; 
T_BOOL subscribe_status; 
T_BOOL lb_status; 

Arguments

subject — name of the subject to set subscribe status for

subscribe_status — subscribe status

lb_status — load balancing status

Return Values

TRUE if the subscribe statuses of the subject were successfully set, FALSE otherwise.

Diagnostics

If TipcSrvSubjectSetSubscribeLb fails, it returns FALSE and sets the global SmartSockets error number to one of:

Description

TipcSrvSubjectGetSubscribeLb and TipcSrvSubjectSetSubscribeLb are variants of TipcSrvSubjectGetSubscribe and TipcSrvSubjectSetSubscribe that include load balancing control.

TipcSrvSubjectSetSubscribeLb sets whether or not this RTclient is subscribing to a subject, with or without load balancing. The subscribe status controls whether or not the RTclient receives messages published (sent) to that subject. If the subscribe status of subject is TRUE, then the RTclient receives messages with subject as their destination that are sent to RTserver. To determine if an RTclient is subscribing to a subject, including load balancing information, use TipcSrvSubjectGetSubscribeLb. If the load balancing status of subject is TRUE, then the RTclient is part of the load balancing calculation; otherwise the RTclient overrides load balancing and always receives the messages regardless of whether or not the message was published with load balancing.

TipcSrvSubjectSetSubscribeLb may attempt to automatically create a connection to RTserver. If RTclient has a warm connection to RTserver, TipcSrvSubjectSetSubscribeLb sets the subscribe status of the subject as if the RTclient were still connected to RTserver. See TipcSrvCreate on automatic creation of connections and warm connections to RTserver.

Caution

TipcSrvSubjectSetSubscribeLb sends a SUBJECT_SET_SUBSCRIBE message to RTserver, but does not explicitly flush the message. See TipcSrvGetAutoFlushSize for more information on message buffering.

See Also

TipcMonClientSubscribeSetWatch, TipcMonSubjectSubscribeSetWatch, TipcSrvSubjectGetSubscribeLb, TipcSrvSubjectSetSubscribe

Examples

This example uses TipcSrvSubjectSetSubscribeLb to start subscribing to the subject /system/thermal and override load balancing so that this RTclient receives all messages published to the thermal subject regardless of whether or not they were published with load balancing:

if (!TipcSrvSubjectSetSubscribeLb("/system/thermal", TRUE, FALSE)) 
{ 
  return;  /* error */ 
} 

TIBCO SmartSockets™ Application Programming Interface
Software Release 6.8, July 2006
Copyright © TIBCO Software Inc. All rights reserved
www.tibco.com