Open topic with navigation

TIBCO Rendezvous® 8.7.0

# tibrvftMember_Create()

Function

## Declaration

    tibrv_status tibrvftMember_Create(
        tibrvftMember*            member,
        tibrvQueue                queue,
        tibrvftMemberCallback     callback,
        tibrvTransport            transport,
        const char*               groupName,
        tibrv_u16                 weight,
        tibrv_u16                 activeGoal,
        tibrv_f64                 heartbeatInterval,
        tibrv_f64                 preparationInterval,
        tibrv_f64                 activationInterval,
        void*                     closure);

## Purpose

Create a member of a fault tolerance group.

## Remarks

Upon creating a member object, the program becomes a member of the group.

A program may hold simultaneous memberships in several distinct fault tolerance groups. For examples, see Multiple Groups in TIBCO Rendezvous Concepts.

Avoid joining the same group twice. It is illegal for a program to maintain more than one membership in any one fault tolerance group. The function tibrvftMember_Create() does not guard against this illegal situation, and results are unpredictable.

All arguments are required except for `preparationInterval` (which may be zero) and `closure` (which may be `NULL`).

Parameter | Description
`member` | This member object denotes membership in a fault tolerance group. The program supplies a location, and the function stores the new member object in that location. The member object remains valid until the program explicitly destroys it.
`queue` | Place fault tolerance events for this member on this event queue.
`callback` | On dispatch, process the event with this callback function.
`transport` | Use this transport for fault tolerance internal protocol messages (such as heartbeat messages).
`groupName` | Join the fault tolerant group with this name. The group name must conform to the syntax required for Rendezvous subject names. For details, see Subject Names in TIBCO Rendezvous Concepts.
`weight` | Weight represents the ability of this member to fulfill its purpose, relative to other members of the same fault tolerance group. Rendezvous fault tolerance software uses relative weight values to select which members to activate; members with higher weight take precedence over members with lower weight. Acceptable values range from 1 to 65535. Zero is a special, reserved value; Rendezvous fault tolerance software assigns zero weight to processes with resource errors, so they only activate when no other members are available. For more information, see Rank and Weight in TIBCO Rendezvous Concepts.
`activeGoal` | Rendezvous fault tolerance software sends callback instructions to maintain this number of active members. Acceptable values range from 1 to 65535.
`heartbeatInterval` | When this member is active, it sends heartbeat messages at this interval (in seconds). The interval must be positive. To determine the correct value, see Step 4: Choose the Intervals in TIBCO Rendezvous Concepts.
`preparationInterval` | When the heartbeat signal from one or more active members has been silent for this interval (in seconds), Rendezvous fault tolerance software issues an early warning hint (TIBRVFT_PREPARE_TO_ACTIVATE) to the ranking inactive member. This warning lets the inactive member prepare to activate, for example, by connecting to a database server, or allocating memory. The interval must be non-negative. Zero is a special value, indicating that the member does not need advance warning to activate; Rendezvous fault tolerance software never issues a TIBRVFT_PREPARE_TO_ACTIVATE hint when this value is zero. To determine the correct value, see Step 4: Choose the Intervals in TIBCO Rendezvous Concepts.
`activationInterval` | When the heartbeat signal from one or more active members has been silent for this interval (in seconds), Rendezvous fault tolerance software considers the silent member to be lost, and issues the instruction to activate (TIBRVFT_ACTIVATE) to the ranking inactive member. When a new member joins a group, Rendezvous fault tolerance software identifies the new member to existing members (if any), and then waits for this interval to receive identification from them in return. If, at the end of this interval, it determines that too few members are active, it issues the activate instruction (TIBRVFT_ACTIVATE) to the new member. Then interval must be positive. To determine the correct value, see Step 4: Choose the Intervals in TIBCO Rendezvous Concepts.
`closure` | Store this closure data on the member object.

## Intervals

The heartbeat interval must be less than the activation interval. If the preparation interval is non-zero, it must be greater than the heartbeat interval and less than the activation interval. It is an error to violate these rules.

In addition, intervals must be reasonable for the hardware and network conditions. For information and examples, see Step 4: Choose the Intervals in TIBCO Rendezvous Concepts.

## Group Name

The group name must be a legal Rendezvous subject name (see Subject Names in TIBCO Rendezvous Concepts). You may use names with several elements; for examples, see Multiple Groups in TIBCO Rendezvous Concepts.

## See Also

tibrvftAction

tibrvftMemberCallback

tibrvftMember_Destroy()

Step 1: Choose a Group Name in TIBCO Rendezvous Concepts

Step 2: Choose the Active Goal in TIBCO Rendezvous Concepts

Step 4: Choose the Intervals in TIBCO Rendezvous Concepts

Step 5: Program Start Sequence in TIBCO Rendezvous Concepts

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 Rendezvous®

Copyright © 1997-2023. Cloud Software Group, Inc. All Rights Reserved.