next up previous contents
Next: Example Applications (installed/examples) Up: A Roadmap to the Releases Previous: Configuration management (config, tools)

Subsections
 

Sources (src)

The directory SHROOT/src is present only in a source release. It contains the source code for Shore. The subdirectories of src are presented here in the order of they are normally visited when Shore is compiled, which is more or less "bottom-up." The code in a later directory may depend on code in directories described earlier.

 

Foundation Classes (src/fc)

The SHROOT/src/fc directory contains what we call "foundation" classes. These C++ classes are meant to be easy to use in software systems other than Shore. They do not depend on any other Shore code. Included are classes for such things as lists, hash tables and error handling. Most things in this directory have the prefix w_. Nobody knows what "w" stands for.

 

Thread Package (src/sthread)

The SHROOT/sthread directory contains a thread package. It also contains source code for the diskrw program, which helps the Shore server do asynchronous I/O. The server forks a copy of diskrw for each volume it is managing. When it wants to do I/O, it notifies the diskrw process. The server and the diskrw process communicate data through shared memory and synchronize with TCP messages or signals.

 

Common Code (src/common)

The SHROOT/common directory contains code needed by most layers of Shore. In this directory are the interfaces and implementations for data types from which Shore's persistent data structures are built. Included are implementations of object identifiers, thread-safe hash tables and options.

 

Storage Manager (src/sm)

The SHROOT/sm directory contains code for the Shore Storage Manager (SSM). The interface for the SSM consists of the public interfaces of the classes ssm, pin_i and scan_xxx_i classes defined in sm.h, pin.h and scan.h, respectively.

 

RPC Package (src/rpc4.0)

The SHROOT/rpc4.0 directory contains a modified copy of Sun Microsystems' "Portable ONC/NFS", a public-domain implementation of the Sun RPC and XDR protocols.

We have made minor changes for its use in Shore. We use only a portion of the package. The complete package is included here, but we support only the portion that Shore uses (SHROOT/rpc4.0/rpc and SHROOT/rpc4.0/rpcgen), to the extent that the Shore Value-Added Server uses it. (We do not provide general support for it, and we have no manual pages for it.) On the Solaris platform, only SHROOT/rpc4.0/rpcgen is used.

 

Shore Value-Added Server (src/vas)

The SHROOT/vas directory contains code for the Shore Value-Added Server (SVAS). It has the following subdirectories.

include
The include files needed by software that uses the SVAS.
client
The SVAS client library, which contains class implementations meant to linked with application code to create a Shore client process. The client library caches some information for local processing, but most SVAS methods are remote operations that are performed by the server.

tests
A simple program for testing the SVAS client library.

scripts
A set of Tcl scripts for testing the SVAS. There is no "support" for these scripts. The testing mechanism for the SVAS is in transition. Not all of the scripts work; some use obsolete syntax for commands.

common
Code that is used in both the server and the tester.

server
The Shore Value-Added Server (SVAS). Running make in this directory creates a complete SVAS server in the form of an executable file named shore.

 

Language Independent Library (src/lil)

The SHROOT/lil directory is for libraries that provide programming-language-independent functionality above the SVAS. Currently, this directory contains only the subdirectory oc and an Imakefile with instructions for assembling the libshore.a and libserver.a libraries from object files created in other directories.

The SHROOT/lil/oc directory contains code for the object cache that is linked with applications. This code is responsible for managing a fixed-size LRU (least-recently used) cache of objects, for swizzling and unswizzling references, and for for flushing objects back to the server on transaction commit and on buffer overflow.

 

Shore Data Language Compiler (src/sdl)

The SHROOT/sdl directory contains source for the Shore Data Language (SDL). It creates the executable program sdl, which compiles SDL specifications into metatype objects stored in the database and C++ header files and implementation stubs to support support these types. This directory also contains a library of routines that support the implementation of generated types by communicating with the object cache layer.

 

Utilities (src/util)

The util directory holds miscellaneous Shore utilities.

The only such program in the current release is is the mount utility, for mounting the Shore file system as an NFS file system The directory SHROOT/src/util/mount/generic contains code for the smount and sumount utilities, which provide only the basic functionality of the standard mount and umount utilities, but with an extension required for Shore. See the README file in that directory for more details. These programs are not used on the Linux platform, where the standard mount untility already has the required extension.


next up previous contents
Next: Example Applications (installed/examples) Up: A Roadmap to the Releases Previous: Configuration management (config, tools)
This page was generated from LaTeX sources
10/27/1997