bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
provides persistent storage for data storage information represented by a container. More...
#include <BESContainerStorage.h>
Public Member Functions | |
virtual void | add_container (BESContainer *c)=0 |
Add a container to the store. | |
virtual void | add_container (const std::string &sym_name, const std::string &real_name, const std::string &type)=0 |
adds a container with the provided information | |
BESContainerStorage (const std::string &name) | |
create an instance of BESContainerStorage with the given name. | |
virtual bool | del_container (const std::string &s_name)=0 |
removes a container with the given symbolic name | |
virtual bool | del_containers ()=0 |
removes all container | |
virtual void | dump (std::ostream &strm) const =0 |
Displays debug information about this object. | |
virtual const std::string & | get_name () const |
retrieve the name of this persistent store | |
virtual bool | isData (const std::string &inQuestion, std::list< std::string > &provides)=0 |
determine if the given container is data and what services are available for it | |
virtual BESContainer * | look_for (const std::string &sym_name)=0 |
looks for a container in this persistent store | |
virtual void | show_containers (BESInfo &info)=0 |
show the containers stored in this persistent store | |
Protected Member Functions | |
virtual void | show_container (const std::string &sym_name, const std::string &real_name, const std::string &type, BESInfo &info) |
add information for a container to the informational response object | |
Protected Attributes | |
std::string | _my_name |
provides persistent storage for data storage information represented by a container.
An implementation of the abstract interface BESContainerStorage provides storage for information about accessing data of different data types. The information is represented by a symbolic name. A user can request a symbolic name that represents a certain container.
For example, a symbolic name 'nc1' could represent the netcdf file /usr/apache/htdocs/netcdf/datfile01.cdf.
An instance of a derived implementation has a name associated with it, in case that there are multiple ways in which the information can be stored. For example, the main persistent storage for containers could be a mysql database, but a user could store temporary information in different files. If the user wishes to remove one of these persistence stores they would request that a named BESContainerStorage object be removed from the list.
Definition at line 67 of file BESContainerStorage.h.
|
inline |
create an instance of BESContainerStorage with the given name.
name | name of this persistence store |
Definition at line 78 of file BESContainerStorage.h.
|
inlinevirtual |
Definition at line 83 of file BESContainerStorage.h.
|
pure virtual |
Add a container to the store.
c |
Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.
|
pure virtual |
adds a container with the provided information
This method adds a container to the persistence store with the specified information.
sym_name | The symbolic name for the container |
real_name | The real name for the container |
type | The type of data held by this container. This is the handler that can be used to read the data |
Implemented in BESContainerStorageFile, BESContainerStorageVolatile, BESFileContainerStorage, builddmrpp::NgapBuildDmrppContainerStorage, cmr::CmrContainerStorage, gateway::GatewayContainerStorage, httpd_catalog::HttpdCatalogContainerStorage, ngap::NgapOwnedContainerStorage, and s3::S3ContainerStorage.
|
pure virtual |
removes a container with the given symbolic name
This method removes a container to the persistence store with the given symbolic name. It deletes the container.
s_name | symbolic name for the container |
Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.
|
pure virtual |
removes all container
This method removes all containers from the persistent store. It does not delete the real data behind the container.
Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.
|
pure virtual |
Displays debug information about this object.
strm | output stream to use to dump the contents of this object |
Implements BESObj.
Implemented in BESContainerStorageFile, BESContainerStorageVolatile, BESFileContainerStorage, builddmrpp::NgapBuildDmrppContainerStorage, cmr::CmrContainerStorage, gateway::GatewayContainerStorage, httpd_catalog::HttpdCatalogContainerStorage, ngap::NgapOwnedContainerStorage, and s3::S3ContainerStorage.
|
inlinevirtual |
retrieve the name of this persistent store
Definition at line 91 of file BESContainerStorage.h.
|
pure virtual |
determine if the given container is data and what services are available for it
inQuestion | the container in question |
provides | an output parameter for storing the list of services provided for this container |
Implemented in BESContainerStorageFile, BESContainerStorageVolatile, and BESFileContainerStorage.
|
pure virtual |
looks for a container in this persistent store
This method looks for a container with the given symbolic name.
sym_name | The symbolic name of the container to look for |
Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.
|
protectedvirtual |
add information for a container to the informational response object
sym_name | symbolic name of the container to add |
real_name | real name, e.g. file name, of the container to add |
type | data type of the container |
info | The BES information object to add container information to |
Definition at line 48 of file BESContainerStorage.cc.
|
pure virtual |
show the containers stored in this persistent store
Add information to the passed information object about each of the containers stored within this persistent store. The information added to the passed information objects includes the name of this persistent store on the first line followed by the symbolic name, real name and data type for each container, one per line.
info | information object to store the information in |
Implemented in BESContainerStorageFile, and BESContainerStorageVolatile.
|
protected |
Definition at line 69 of file BESContainerStorage.h.