pool.h - Man Page
C wrapper for DMLite Pool API.
Synopsis
#include 'dmlite.h'
#include 'any.h'
#include 'inode.h'
#include 'utils.h'
Data Structures
struct dmlite_pool
Pool data.
struct dmlite_chunk
Chunk of data.
struct dmlite_location
Collection of chunks that form a replica.
struct dmlite_xferinfo
Progress markers for file copies. FTS jargon calls these 'FTS performance markers'.
Macros
#define POOL_TYPE_MAX 16
#define POOL_MAX 16
#define CHUNK_ID_MAX 16
#define CHUNK_URL_ALT_MAX 512
Typedefs
typedef struct dmlite_pool dmlite_pool
Pool data.
typedef struct dmlite_chunk dmlite_chunk
Chunk of data.
typedef struct dmlite_location dmlite_location
Collection of chunks that form a replica.
typedef struct dmlite_xferinfo dmlite_xferinfo
Progress markers for file copies. FTS jargon calls these 'FTS performance markers'.
Functions
int dmlite_getpools (dmlite_context *context, unsigned *nPools, dmlite_pool **pools)
Gets the list of pools.
int dmlite_pools_free (unsigned nPools, dmlite_pool *pools)
Frees an array of pools.
dmlite_location * dmlite_get (dmlite_context *context, const char *path)
Gets a single replica (synchronous).
int dmlite_copypush (dmlite_context *context, const char *path, const char *dest, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata)
Copy a file to a remote location (synchronous).
int dmlite_copypull (dmlite_context *context, const char *path, const char *source, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata)
Copy a file from a remote location (synchronous). Allows copying to this head node, may add a replica to an existing logical file entry.
dmlite_location * dmlite_iget (dmlite_context *context, ino_t inode)
Gets a single replica (synchronous).
dmlite_location * dmlite_getlocation (dmlite_context *context, const dmlite_replica *replica)
Gets the location of a replica.
dmlite_location * dmlite_put (dmlite_context *context, const char *path)
Puts a file (synchronous).
dmlite_location * dmlite_chooseserver (dmlite_context *context, const char *path)
Choose a server where to perform generic actions (e.g. a tunnel)
int dmlite_put_abort (dmlite_context *context, const dmlite_location *loc)
Aborts a put request.
int dmlite_location_free (dmlite_location *loc)
Frees a location struct.
int dmlite_getdirspaces (dmlite_context *context, const char *logicaldir, int64_t *freespace, int64_t *used)
Get the estimation of the free/used space for writing into a directory.
Detailed Description
C wrapper for DMLite Pool API.
- Author
Alejandro Álvarez Ayllon aalvarez@cern.ch
Macro Definition Documentation
#define CHUNK_ID_MAX 16
#define CHUNK_URL_ALT_MAX 512
#define POOL_MAX 16
#define POOL_TYPE_MAX 16
Typedef Documentation
typedef struct dmlite_chunk dmlite_chunk
Chunk of data.
typedef struct dmlite_location dmlite_location
Collection of chunks that form a replica. On read, there may be duplicated chunks.
typedef struct dmlite_pool dmlite_pool
Pool data.
typedef struct dmlite_xferinfo dmlite_xferinfo
Progress markers for file copies. FTS jargon calls these 'FTS performance markers'.
Function Documentation
dmlite_location * dmlite_chooseserver (dmlite_context * context, const char * path)
Choose a server where to perform generic actions (e.g. a tunnel)
- Parameters
context The DM context.
path The logical file name to put.- Returns
A pointer to a dmlite_location struct, or NULL on error.
int dmlite_copypull (dmlite_context * context, const char * path, const char * source, int cksumcheck, char * cksumtype, dmlite_xferinfo * progressdata)
Copy a file from a remote location (synchronous). Allows copying to this head node, may add a replica to an existing logical file entry.
- Parameters
context The DM context.
path The logical file name.
source An URL, that may be a remote destination
cksumcheck Tell the copy process to check the final checksums
cksumtype Type of checksum that must be checked (e.g. adler32)
Returns
0 on success, error code otherwise. EAGAIN means performance marker
Beware, the path to the delegated proxy (if any) is stored in the dmlite context
int dmlite_copypush (dmlite_context * context, const char * path, const char * dest, int cksumcheck, char * cksumtype, dmlite_xferinfo * progressdata)
Copy a file to a remote location (synchronous).
- Parameters
context The DM context.
path The logical file name.
dest An URL, that must be a remote destination
cksumcheck Tell the copy process to check the final checksums
cksumtype Type of checksum that must be checked (e.g. adler32)
Returns
0 on success, error code otherwise. EAGAIN means performance marker
Beware, the path to the delegated proxy (if any) is stored in the dmlite context
dmlite_location * dmlite_get (dmlite_context * context, const char * path)
Gets a single replica (synchronous).
- Parameters
context The DM context.
path The logical file name.- Returns
A pointer to a dmlite_location struct, or NULL on error.
int dmlite_getdirspaces (dmlite_context * context, const char * logicaldir, int64_t * freespace, int64_t * used)
Get the estimation of the free/used space for writing into a directory.
- Parameters
path The path of the directory to query
totalfree The total number of free bytes (may not be contiguous)
used The total number of used bytes
Returns
0 on success, error code otherwise.
dmlite_location * dmlite_getlocation (dmlite_context * context, const dmlite_replica * replica)
Gets the location of a replica.
- Parameters
context The DM context.
replica The replica to translate.- Returns
A pointer to a dmlite_location struct, or NULL on error.
int dmlite_getpools (dmlite_context * context, unsigned * nPools, dmlite_pool ** pools)
Gets the list of pools.
- Parameters
context The DM context.
nPools The number of pools.
pools An array with the pools. Use dmlite_freepools to free.
Returns
0 on success, error code otherwise.
dmlite_location * dmlite_iget (dmlite_context * context, ino_t inode)
Gets a single replica (synchronous).
- Parameters
context The DM context.
inode The file inode.- Returns
A pointer to a dmlite_location struct, or NULL on error.
int dmlite_location_free (dmlite_location * loc)
Frees a location struct.
- Parameters
loc The struct to free.
Returns
0 on success, error code otherwise.
int dmlite_pools_free (unsigned nPools, dmlite_pool * pools)
Frees an array of pools.
- Parameters
nPools The number of pools in the array.
pools The array to free.
Returns
0 on success, error code otherwise.
dmlite_location * dmlite_put (dmlite_context * context, const char * path)
Puts a file (synchronous).
- Parameters
context The DM context.
path The logical file name to put.- Returns
A pointer to a dmlite_location struct, or NULL on error.
int dmlite_put_abort (dmlite_context * context, const dmlite_location * loc)
Aborts a put request.
- Parameters
context The DM context.
loc As returned by dmlite_put.
Returns
0 on success, error code otherwise.
Author
Generated automatically by Doxygen for dmlite from the source code.