The Hub maintains state information for all its sessions and service providers. This information can be updated in the Hub, but it can also be updated by the server.
Gal_Frame GalIO_ServerProperties(GalIO_ServerStruct
*server)
Returns the frame constituting the server
properties as the server currently knows them locally. Not thread-safe;
use only in
_GalSS_init_server.
void GalIO_AddServiceType(GalIO_ServerStruct
*server, char *stype)
Use in _GalSS_init_server
to add a service type
to the default type (which is identical to the server
name).
Gal_Frame GalSS_EnvGetServerProperties(GalSS_Environment
*env, char **keys)
Fetches the properties from the Hub which
the Hub has associated with the current server. keys is a NULL-terminated
array of strings. The return value contains a key-value pair for each key
in keys that the Hub has a value for; the name of the returned frame
is not interesting. This function ultimately calls the Builtin server function
get_properties.
void GalSS_EnvSetServerProperties(GalSS_Environment
*env, Gal_Frame properties)
Updates the properties the Hub associates
with the current server with the key-value pairs in properties.
The name of properties is ignored by the Hub. The local server properties
are also updated; see GalIO_ServerModifyProperties. This function ultimately
calls the Builtin server function modify_properties.
void GalSS_EnvDeleteServerProperties(GalSS_Environment
*env, char **keys)
Deletes the properties in keys
from the properties the Hub associates with the current server. keys
is a NULL-terminated array of strings. The local server properties are
also updated; see GalIO_ServerModifyProperties. This function ultimately
calls the Builtin server function modify_properties.
void GalSS_EnvModifyServerProperties(GalSS_Environment
*env, Gal_Frame properties_to_set, char **properties_to_delete)
A combination of GalSS_EnvDeleteServerProperties
and GalSS_EnvSetServerProperties. The properties in properties_to_delete
are deleted before the properties in properties_to_set are added.
This function ultimately calls the Builtin server function modify_properties.
void GalIO_ServerModifyProperties(GalIO_ServerStruct
*server, Gal_Frame new_properties, char **delete_properties)
Modifies the server properties locally.
The name of the new_properties frame is ignored. The properties
in delete_properties are deleted before the properties in new_properties
are added. delete_properties is a NULL-terminated array of
strings. This function is called by GalSS_EnvModifyServerProperties,
etc.
Gal_Frame GalSS_EnvGetSessionProperties(GalSS_Environment
*env, char **keys)
Fetches the properties from the Hub which
the Hub has associated with the current session. keys is a NULL-terminated
array of strings. The return value contains a key-value pair for each key
in keys that the Hub has a value for; the name of the returned frame
is not interesting. This function ultimately calls the Builtin server function
get_properties.
void GalSS_EnvSetSessionProperties(GalSS_Environment
*env, Gal_Frame properties)
Updates the properties the Hub associates
with the current session with the key-value pairs in properties.
The name of properties is ignored by the Hub. This function ultimately
calls the Builtin server function modify_properties.
void GalSS_EnvDeleteSessionProperties(GalSS_Environment
*env, char **keys)
Deletes the properties in keys
from the properties the Hub associates with the current session. keys
is a NULL-terminated array of strings. This function ultimately calls the
Builtin server function modify_properties.
void GalSS_EnvModifySessionProperties(GalSS_Environment
*env, Gal_Frame properties_to_set, char **properties_to_delete)
A combination of GalSS_EnvDeleteSessionProperties
and GalSS_EnvSetSessionProperties. The properties in properties_to_delete
are deleted before the properties in properties_to_set are added.
This function ultimately calls the Builtin server function modify_properties.
void GalSS_EnvSetSession(GalSS_Environment
*env, char *session_name, int lock_info)
Changes the session ID for the current
environment and sends a Hub message which guarantees that the session will
exist. This function calls the Builtin function set_session.
The lock information should be a logical OR of the following flags:
flag | description |
GAL_SERVER_READS_ONLY_FROM_SESSION | the Hub will not send any messages for any sessions other than this one to this server |
GAL_SESSION_WRITES_ONLY_TO_SERVER | the Hub will ensure that any messages in this session which might be sent to this server will be |
GAL_SERVER_WRITES_ONLY_TO_SESSION | the Hub will assume that any message received from this server is assigned to this session |
GAL_PERMANENT_LOCK | the Hub will not free these locks except in response to another call to Builtin.set_session. |
If lock_info is not -1, this function frees all previous locks; otherwise, it inherits the locks from the previous session, if possible.
Please send comments and suggestions to:
bugs-darpacomm@linus.mitre.org
Last updated September 28, 2001.
Copyright
(c) 2000
The MITRE
Corporation
ALL RIGHTS RESERVED