The Global State Manager: /lib/global

Certain pieces of global information must be maintained throughout the simulation. The Global State Manager keeps the following records:

In addition, the following pieces of static data are kept:

These pieces of "static" data can change across server restarts; much of it is configurable from the LPMOO configuration file.

The Global State Manager has many hooks for querying and maintaining this data, as well as performing special related utility operations:

get_max_object()
return the current value of max_object()
take_task()
return a task ID for a new task
register_task()
queue a new forked MOO task associated with a DGD call_out()
task_started()
dequeue a task which has begun execution
remove_refs()
delete references to verbs on the MOO call stack
kill_task()
dequeue a task and prevent execution of it
get_queued_tasks()
return a list of queued task information for queued_tasks()
error_name()
return the error name for an error code
error_desc()
return the error description for an error code
prep_name()
return the full name for a preposition code
prep_code()
parse and return the preposition code for a string
vs_name()
return the name for an object specifier
vs_code()
return the code for an object specifier string
match_preposition()
parse a command line into dobj, prep, and iobj
fetch_object()
return a new (or renumbered) MOO object (used only by the Driver Interface)
create_object()
return a new MOO object
bootstrap_max_object()
used to bootstrap the value for max_object()
bootstrap_recycled()
used to bootstrap a recycled object
renumber()
change the object number of a MOO object
reset_max_object()
make max_object() be the highest existing object number
log_msg()
write a log message to the server log
checkpoint()
initiate a DGD checkpoint
restart()
called at server restart to re-initialize static data
recycle()
irrevocably destroy an object (called from destroyee)
bootstrap_player()
bootstrap an object's player status
set_player_status()
add or remove an object's player status
all_players()
return a list of all player objects
connected_players()
return a list of connected player objects
get_connection_obj()
return the connection object for a player, if any
accept()
assign an un-logged-in ID to a new connection
get_unlogged_in()
return the connection associated with an un-logged-in ID, if any
assign_pfd()
allocate a pseudo file-descriptor for a connection
user_description()
return a descriptive string for a user
conn_description()
return a descriptive string for a connection
log_connect_timeout()
a connection timed out
log_client_disconnect()
a client terminated the connection
log_disconnected()
a connection was terminated via boot_player()
log_recycled()
a player was recycled
connect()
a connection was established to a player object
redirect()
a connection was redirected
shutdown()
initiate a shutdown of the server
unique_number()
return a number that will not be repeated
get_regexp()
return a compiled regexp pattern
get_stack_size()
return the configured value stack size
get_max_depth()
return the configured maximum verb depth
get_timezone()
return the current configured timezone
traceback()
deliver a MOO traceback to a user
prep_verb()
given a MOO verb syntax tree, compile into LPC and save the source
erase_verb()
remove a verb's associated LPC and source files

rob@ccs.neu.edu