Core Modules
The "core modules" are
the fundamental part of the Library. The core entity contains hooks
for the dynamic modules and provides the major access points for
applications issuing requests, for example to access a data object.
- WWWLib Include
- This is not really a core module, but an important part as this is
the only include file you need to use the Library.
- Access Manager
- The access manager is the main entry point for requesting a data
object pointed to by a URI. It has a set of methods that allows the
application to request different services, for example to get a URI,
post a URI, or to search a URI.
- Protocol Manager
- The protocol manager is invoked by the access manager in order to
access a document not found in memory or in file cache. The manager
consists of a set of protocol modules handling the access schemes
HTTP, FTP, NNTP, Gopher, WAIS, Telnet, and access to the local file
system. The protocol modules are registered dynamically (using static
linking) and the User's Guide describes how
modules can be registered. Each protocol module is responsible for
establishing the connection to the remote server (or the local
file-system) and extract information using a specific access
method. When data arrives from the network, it is passed on to the
format manager.
- Format Manager
- The stream format manager takes care of data format conversion
requested based on a set of registered format converters and a simple
algorithm for selecting the best conversion.
- Cache Manager
- The cache manager is used to save data objects once they have been
down loaded from the network. The cache uses the hierarchy indicated
in the URLs as a way to identify items in the cache but is still under
construction and requires a lot of work to be a highly efficient cache
manager!
- Error Manager
- This module manages an information stack which contains
information of all errors occurred during the communication with a
remote server or simply information about the current state. Using a
stack for this kind of information provides the possibility of nested
error messages where each message can be classified and filtered
according to its impact on the current request, for example "Fatal",
"Non-Fatal", "Warning" etc. The filtering can be used to decide which
level of messages will be passed back to the user.
- Event Manager
- The event manager is a "session layer" handling which thread
should be the active thread. A thread can either be an internal libwww
thread or an external thread, for example a Posix thread, and the
event manager can itself be either the internal Library manager or an
external event manager. Currently the internal event manager uses a
select function call to decide which thread should be made the active
one, however an external event manager can use another decision
model. The event manager is described together with the internal
thread model in the section "Libwww Threads", and more
modules are described in the section Libwww
thread Modules
Henrik Frystyk, libwww@w3.org,
@(#) $Id: Core.html,v 1.14 1996/12/09 03:21:29 jigsaw Exp $