Core Help Root: Subsystems: Command Parsing System: Command Cache


The $command_cache object is broken into two roles--caching commands, and interfacing the cache for commands (this primarily involves looking up commands in the cache)--or from another viewpoint, the Cache Server and Cache Client (respectively). While any object will always cache its own locally defined commands (those immedately defined on itself), an object has to be specially marked to cache all commands on itself and its ancestors. These objects are generally the parent class for users. Most other objects (primarily Command Modules) should only have locally defined commands.

Cache Server

If an object is a Cache Server, it will also fall into one of two Cache Server categories. EIther it is a cache for its own commands (a Local Cache), or it is a cache for all commands defined on its ancestors and itself (a General Cache).

The default behavior of a Cache Server is as a Local Cache. To configure an object as a General Cache, simply add the flag 'general_cache to the object, using the command @chmod:

@chmod +general_cache $new_cache_server

Keep in mind, an object only needs to be marked as a general cache if it needs to cache not only its own commands, but also those commands defined on its ancestors. This is generally not the case.

Cache Client

A cache client will lookup commands on all of its parents--which should be defined as General Caches, and on any of its Command Modules. Command Modules are objects which group a set of commands, allowing people to add or remove entire sets of commands, depending upon the interface they desire.

Remote Command Cache

An additional cache has been created that is not intended for use as an ancestor. Instead, it is intended as the general repository for all remote commands. It behaves slightly different than standard caches, and plays the role as both the client and server for itself.

Method Definitions



Command Cache | Command Modules


the Cold Dark