static void
updateNameSpacesWalk (
    d_nameSpace n,
    c_iterActionArg userData)
{
    d_nameSpacesRequestListener listener;
    d_admin admin;
    d_nameSpaces ns;
    d_networkAddress master;
    struct updateNsWalkData* walkData;

    walkData = (struct updateNsWalkData*)userData;
    listener = walkData->listener;
    admin = d_listenerGetAdmin(d_listener(listener));

    /* Create nameSpaces object from namespace, update total later */
    ns = d_nameSpacesNew(admin, n, d_nameSpaceGetInitialQuality(n), 0);
    master = d_nameSpaceGetMaster(n);
    d_nameSpacesSetMaster(ns, master);
    d_networkAddressFree(master);

    /* Add namespaces object to listener */
    walkData->nameSpaces = c_iterAppend (walkData->nameSpaces, ns);
}
static void
checkFellowDelayAlignmentWalk(
    void* o,
    c_voidp userData)
{
    d_admin admin;
    d_nameSpace nameSpace;
    d_fellow fellow;
    d_quality q;
    struct checkDelayAlignmentHelper* data;

    data = (struct checkDelayAlignmentHelper*)userData;
    nameSpace = d_nameSpace(o);
    admin = data->admin;
    fellow = data->fellow;

    /* Get quality of fellow namespace */
    q = d_nameSpaceGetInitialQuality(nameSpace);

    /* Report potential delayed initial dataset if quality is non-zero and not infinite */
    if((q.seconds || q.nanoseconds) && ((q.seconds != C_TIME_INFINITE.seconds) && (q.nanoseconds != C_TIME_INFINITE.nanoseconds))) {
        d_adminReportDelayedInitialSet(admin, nameSpace, fellow);
    }
}