LoCI logo
Home
About Us
Projects
Publications
Software
Documents
Screencasts
Related Projects
Related Pubs

People
FAQs
News Archive
Contact Us


Links

IBPvo
Record your favorite show on TV!
Linux ISOs
Download the latest version of Linux!
 
 



 
Main Page   Modules   Data Structures   File List   Data Fields   Globals  

lors_api.h File Reference

#include <assert.h>
#include <pthread.h>
#include <semaphore.h>
#include <sys/types.h>
#include <jval.h>
#include <jrb.h>
#include <dllist.h>
#include <ibp.h>
#include <lors_error.h>
#include <lors_opts.h>
#include <lors_sem.h>
#include <exnode.h>
#include <lbone_base.h>
#include <lors_util.h>

Go to the source code of this file.

Data Structures

struct  __is_block
struct  __LorsBoundary
struct  __LorsExnode
struct  __lorsConditionStruct
struct  __LorsSet
struct  __LorsDepotPool
struct  __lbone_resolution
struct  __lbone_resoution_index
struct  __depot_t
struct  __LorsMapping

Defines

#define MIN(x, y)   (x < y ? x : y )
#define IBP_HARD   IBP_STABLE
#define IBP_SOFT   IBP_VOLATILE

Typedefs

typedef int64_t longlong
typedef __is_block ISBlock
typedef __LorsBoundary LorsBoundary
typedef __LorsExnode LorsExnode
typedef __lorsConditionStruct LorsConditionStruct
typedef __LorsSet LorsSet
typedef __LorsDepotPool LorsDepotPool
typedef __lbone_resolution LboneResolution
typedef __lbone_resoution_index LboneResolutionIndex
typedef Dllist LorsEnum
typedef __depot_t LorsDepot
typedef __lorsrsset LorsRSSet
typedef __LorsMapping LorsMapping

Functions

void lorsPrintSet (LorsSet *set)
int lorsCreateResolutionFromFile (char *filename, LboneResolution **lr, int metric_index)
int lorsCreateResolutionFromLBone (IBP_depot lboneserver, LboneResolution **lr, int opt)
int lorsSetResolutionPoint (LboneResolution *lr, IBP_depot src, IBP_depot dst, double metric)
int lorsGetResolutionPoint (LboneResolution *lr, IBP_depot src, IBP_depot dst, double *metric)
int lorsSaveResolutionToFile (char *filename, LboneResolution *lr)
int lorsUpdateDepotPoolFromResolution (LorsDepotPool *dp_src, LorsDepotPool *dp_dst, LboneResolution *lr, int opts)
int lorsFreeResolution (LboneResolution *lr)
void lorsGetLibraryVersion (const char **package, const double *version)
int lorsSetEnum (LorsSet *set, LorsEnum *list)
 Form an enumeration of all mappings within the Set.

int lorsExnodeEnum (LorsExnode *exnode, LorsEnum *list)
 Form an enumeration of all mappings within the Exnode.

int lorsEnumNext (LorsEnum list, LorsEnum *iterator, LorsMapping **ret)
 Iterate through a LorsEnum list of mappings.

int lorsEnumFree (LorsEnum list)
 Free a LorsEnum.

int lorsGetDepotPool (LorsDepotPool **dp, char *lbone_server, int lbone_server_port, IBP_depot *depots, int min_unique_depots, char *location, ulong_t storage_size, int storage_type, time_t duration, int nthreads, int timeout, int opts)
 Create a collection of IBP depots from the LBone or a user supplied list.

int lorsUpdateDepotPool (LorsExnode *exnode, LorsDepotPool **ret_dpp, char *lbone_server, int lbone_server_port, char *location, int nthreads, int timeout, int opts)
int lorsFreeDepotPool (LorsDepotPool *dpp)
int lorsExnodeCreate (LorsExnode **exnode)
 Allocate a container structure for LorsSets.

int lorsExnodeFree (LorsExnode *exnode)
int lorsAppendSet (LorsExnode *exnode, LorsSet *set)
 Append a Set to an Exnode.

int lorsAppendMapping (LorsExnode *exnode, LorsMapping *map)
 Add mapping to exnode.

int lorsDetachMapping (LorsExnode *exnode, LorsMapping *map)
 Remove mapping from exnode.

int lorsDeserialize (LorsExnode **exnode, char *buffer, int length, char *schema)
 Reconstruct the Exnode datastructure from an XML serialization.

int lorsFileDeserialize (LorsExnode **exnode, char *filename, char *schema)
 Deserialize from File rather than from buffer.

int lorsSerialize (LorsExnode *exnode, char **buffer, int readonly, int *length)
 Translate Exnode structure to XML string.

int lorsFileSerialize (LorsExnode *exnode, char *filename, int readonly, int opts)
 Serialize Exnode and store to file.

int lorsGetExnodeMetadata (LorsExnode *exnode, ExnodeMetadata **md)
 Fetch the ExnodeMetadata from a LorsExnode or LorsSet.

int lorsGetMappingMetadata (LorsMapping *map, ExnodeMetadata **md)
 Fetch the ExnodeMetadata from a LorsExnode or LorsSet.

int lorsMetadataMerge (ExnodeMetadata *src, ExnodeMetadata *dest)
int lorsQuery (LorsExnode *exnode, LorsSet **set, longlong offset, longlong length, int opt)
int lorsSetAddMapping (LorsSet *set, LorsMapping *map)
int lorsSetRemoveMapping (LorsSet *set, LorsMapping *map)
int lorsSetInit (LorsSet **set, ulong_t data_blocksize, int copies, int opts)
 Initialize LorsSet internal data structures.

int lorsSetStore (LorsSet *set, LorsDepotPool *dp, char *buffer, longlong offset, longlong length, LorsConditionStruct *lc, int nthreads, int timeout, int opts)
 Allocate storage and Send data to the IBP allocations.

int lorsSetUpdate (LorsSet *set, LorsDepotPool *dp, char *buffer, longlong offset, longlong length, int nthreads, int timeout, int opts)
long lorsSetLoad (LorsSet *set, char *buffer, longlong offset, long length, ulong_t block_size, LorsConditionStruct *lc, int nthreads, int timeout, int opts)
 Retrieve data from IBP allocations.

longlong lorsSetRealTimeLoad (LorsSet *set, char *buffer, int fd, longlong offset, longlong length, ulong_t block_size, int pre_buf, int cache, LorsConditionStruct *lc, int nthreads, int timeout, int max_thds_per_depot, int thds_per_job, int progress_n, int opts)
 Provide real-time streaming of data over a file descriptor.

int lorsSetCopy (LorsSet *srcSet, LorsSet *dstSet, LorsDepotPool *dp, LboneResolution *lr, longlong offset, longlong length, int nthreads, int timeout, int opts)
 Create replicas of data in srcSet allocation to another.

int lorsSetMerge (LorsSet *src, LorsSet *dest)
 Combine the mappings from two Sets into one Set.

int lorsSetTrim (LorsSet *set, longlong offset, longlong length, int nthreads, int timeout, int opts)
 Remove particular extents or Mappings from Set.

int lorsSetRefresh (LorsSet *set, longlong offset, longlong length, time_t duration, int nthreads, int timeout, int opts)
 Refresh the expiration time on allocated storage.

int lorsSetStat (LorsSet *set, int nthreads, int timeout, int opts)
 Perform a status operation on the Mappings of a Set.

int lorsSetFree (LorsSet *set, int opts)
 Perform 'free' on internal data structures.

int lorsSetTrimCaps (LorsSet *set, int opts)
 Trim IBP caps from a set of mappings.


Define Documentation

#define MIN x,
     (x < y ? x : y )
 

#define IBP_HARD   IBP_STABLE
 

#define IBP_SOFT   IBP_VOLATILE
 


Typedef Documentation

typedef int64_t longlong
 

typedef struct __is_block ISBlock
 

typedef struct __LorsBoundary LorsBoundary
 

typedef struct __LorsExnode LorsExnode
 

typedef struct __lorsConditionStruct LorsConditionStruct
 

typedef struct __LorsSet LorsSet
 

typedef struct __LorsDepotPool LorsDepotPool
 

typedef Dllist LorsEnum
 

typedef struct __depot_t LorsDepot
 

typedef struct __lorsrsset LorsRSSet
 

typedef struct __LorsMapping LorsMapping
 


Function Documentation

void lorsPrintSet LorsSet   set
 

int lorsExnodeFree LorsExnode   exnode
 

int lorsGetExnodeMetadata LorsExnode   exnode,
ExnodeMetadata **    md
 

Fetch the ExnodeMetadata from a LorsExnode or LorsSet.

The lorsExnodeCreate() or lorsSetCreate() will allocate a ExnodeMetadata. Therefore, there is no lorsSetMetadataCreate() call. To access the metadata for either a set or exnode use these calls. Because you are given a pointer to the same pointer that the exnode or set maintain, there are no functions to set the metadata for an exnode or set.

Parameters:
exnode  An exnode pointer.
md  A pointer to a ExnodeMetadata variable, to be used with future calls for Metadata manipulation.

int lorsGetMappingMetadata LorsMapping   map,
ExnodeMetadata **    md
 

Fetch the ExnodeMetadata from a LorsExnode or LorsSet.

The lorsExnodeCreate() or lorsSetCreate() will allocate a ExnodeMetadata. Therefore, there is no lorsMetadataCreate() call. To access the metadata for either a set or exnode use these calls. Because you are given a pointer to the same pointer that the exnode or set maintain, there are no functions to set the metadata for an exnode or set.

Note:
Parameters:
map  A LorsMapping pointer.
md  A pointer to a ExnodeMetadata variable, to be used with future calls for Metadata manipulation.

int lorsMetadataMerge ExnodeMetadata *    src,
ExnodeMetadata *    dest
 

int lorsSetUpdate LorsSet   set,
LorsDepotPool   dp,
char *    buffer,
longlong    offset,
longlong    length,
int    nthreads,
int    timeout,
int    opts
 

UTK home        DOE NSF
 
corner
Home   About Us   Projects   Publications   Software   Docs   Screencasts   Related Projects   Related Pubs   People   FAQs   News  Contact Us
corner