next up previous contents
Up: Guide to the Shore Previous: Configuration management (config

 

Sources (src)

This directory is not present in a binary release. It contains the source code for Shore. The subdirectories of src are presented here in the order of their dependency. In other words, the code in a directory depends on code in the previously described directories.

 

Foundation Classes (src/fc)

The 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.

 

Thread Package (src/sthread)

The sthread directory contains a thread package and asynchronous I/O facility.

 

Common Code (src/common)

The 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 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 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 (rpc4.0/rpc and 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.)

The modifications include:

  1. Standard C/C++ function prototypes in many of the include files.
  2. The dispatch function generated by rpcgen frees the reply after the reply is sent. This makes the RPC package work slightly better in a multi-threaded environment, but the package is not "thread-safe" (it will fail miserably in an environment that has preemptive thread switching). Furthermore, because of this change, the library does not lend itself to saving replies for the purpose of retransmitting them in response to duplicate requests (for the UDP service).
  3. Statistics have been added.
  4. The client timeout can be turned off entirely.
  5. Modifications to make it easier for the client to avoid using the portmapper.
 

Shore Value-Added Server (src/vas)

The vas directory contains code for the Shore Value-Added Server (SVAS). This directory has the following subdirectories:

include
The include files needed by software that uses the SVAS.

client
The SVAS client library. This is linked with an application. 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. Only those listed in all.noerr have been tested prior to the release.

common
The code that is used in both the server and the tester.

server
The Shore Value-Added server. Running make in this directory builds complete Shore server.

 

Language Independent Library (src/lil)

The vas directory is for libraries that provide programming-language-independent functionality above the SVAS. The object cache resides here, and in future releases, the link-level Unix-compatibility library will be here.

 

Object Cache (src/lil/oc)

The lil/oc directory contains code for the object cache that is linked with applications.

 

Shore Data Language Compiler (src/sdl)

The sdl directory contains the SDL type compiler and the SDL C++ language-binding generator.

 

Utilities (src/util)

The util directory holds miscellaneous Shore utilities.

The only such program in the release is is mount, for mounting the Shore file system as an NFS file system.

 

Example Applications(src/example)

The example directory contains example application programs.

 

OO7 Benchmark (src/oo7)

The oo7 directory contains an implementation of the OO7 Benchmark.



next up previous contents
Up: Guide to the Shore Previous: Configuration management (config



Marvin Solomon
Fri Aug 2 13:40:43 CDT 1996