nslist - A Namespace Inspection Tool


[Contents] [Prev] [Next]
Table of Contents

Name

nslist -- Script for examining and manipulating the Namespace.

Synopsis

nslist [-c] [-q] [-h] [root [root ...]]

Description

This program lists the contents of the namespace, starting from whatever worldroot is reachable. It prints a tree of all names, following sub-contexts (subdirectories) but avoiding loops. The output format shows each name and the type of object the name is bound to, unless the name is bound to a sub-context.

The program also also prints a message when a loop is encountered or if the bound object is unresponsive. When an object's implementation exits but its name remains bound, it is marked as unresponsive.

Options

-c
--clean
Clean out unresponsive name bindings. As nslist is traversing the namespace, it attempts to contact the object bound to every name. If the object is unresponsive (specifically, the object does not respond to an IluPing()), all names bound to that object are unbound. An object may be only temporarily unreachable -- resulting from, e.g., a transient network error or the process being swapped out when the ping arrives -- so care must be used when exercising this option.
-q
-quiet
Do not print the namespace. This option is most useful with --clean.
-h
--help
Print out a usage message and quit.
root
Ordinarily, nslist starts from the worldroot and traverses the entire namespace, but this may produce a much longer listing that you need. Instead, you can provide arguments to nslist that specify the sub-contexts you want to list. The arguments are specified as complete paths from the worldroot to the context you want to display (but not including an initial slash for the worldroot).

Examples

Listing of entire namespace

Here is an example listing of an entire namespace. The tool was invoked with no arguments.
kos
    anthem
        administrator <AdministratorAPI.Administrator>
        conditions
        kps
        plugins
            ImagePlayer
                kos <loop detected>
                world <loop detected>
            simpleio
                kos <loop detected>
                world <loop detected>
        receiver <KOS.Receiver>
        services
            PlayerFactory <PlayerAPI.PlayerFactory>
            simpleio <SimpleIOAPI.SimpleIOFactory>
        services-by-type
            PlayerAPI.PlayerFactory
                PlayerFactory <loop detected>
            SimpleIOAPI.SimpleIOFactory
                simpleio <loop detected>
        world <loop detected>
    imagerepo
        administrator <AdministratorAPI.Administrator>
        conditions
        kps
        plugins
            BassImageRepository
                kos <loop detected>
                world <loop detected>
        receiver <KOS.Receiver>
        services
            BassImages <RAPK.Repository>
        services-by-type
            RAPK.Repository
                BassImages <loop detected>
        world <loop detected>
replicators
    anthem.cnri.reston.va.us <WorldAPI.Worldroot>
tools
    visualizer <ReportingAPI.Visualizer>
types

Dump of a single sub-context

Here's a listing of just the services-by-type sub-context of the anthem KOS. Invocation:
% nslist kos/anthem/services-by-type
Output:
kos/anthem/services-by-type
    PlayerAPI.PlayerFactory
        PlayerFactory <PlayerAPI.PlayerFactory>
    SimpleIOAPI.SimpleIOFactory
        simpleio <SimpleIOAPI.SimpleIOFactory>

Table of Contents

[Contents] [Prev] [Next]
Copyright © 1998 by the Corporation for National Research Initiatives.