Federated Naming Service Programming Guide

Getting Context Handles

All operations on a context require a context handle. There are several ways of obtaining a context handle. If you have a reference, you can use it to construct a context handle. Otherwise, to get a handle to the initial context, you must call fn_ctx_handle_from_initial().


fn_ctx_handle_from_initial
fn_ctx_handle_from_ref

Construct Handle to Initial Context

This operation returns a handle to the callers initial context. On successful return, the context handle points to a context containing the bindings described in Initial Context Bindings.


FN_ctx_t *fn_ctx_handle_from_initial(
    unsigned int authoritative,
    FN_status_t *status);

authoritative specifies whether the handle to the Initial Context returned should be authoritative, with respect to information the context obtains from the naming service. When the flag is non-zero, subsequent operations on this context handle can access the most authoritative information. When authoritative is zero, the handle to the Initial Context returned need not be authoritative. Authoritativeness is determined by specific naming services. In some, the authoritative source is a single “master” servers, while in others, the authoritative source is a quorum of servers.

Construct Context Handle From Reference

This operation returns a handle to an FN_ctx_t object given a reference, ref, for that context.


FN_ctx_t *fn_ctx_handle_from_ref(
    const   FN_ref_t *ref, 
    unsigned int authoritative,
    FN_status_t *status);      

authoritative specifies whether the handle to the context returned should be authoritative, with respect to information the context obtains from the naming service. When the flag is non-zero, subsequent operations on this context handle can access the most authoritative information. When authoritative is zero, the handle to the context returned need not be authoritative. Authoritativeness is determined by specific naming services. In some, the authoritative source is a single “master” server, while in others, the authoritative source is a quorum of servers.