include/dmlite/c/pool.h File Reference
C wrapper for DMLite Pool API.
More...
#include "dmlite.h"
#include "any.h"
#include "inode.h"
#include "utils.h"
Go to the source code of this file.
Classes |
struct | dmlite_pool |
| Pool data. More...
|
struct | dmlite_chunk |
| Chunk of data. More...
|
struct | dmlite_location |
| Collection of chunks that form a replica. More...
|
struct | dmlite_xferinfo |
| Progress markers for file copies. FTS jargon calls these "FTS performance markers". More...
|
Defines |
#define | POOL_TYPE_MAX 16 |
#define | POOL_MAX 16 |
#define | CHUNK_ID_MAX 16 |
#define | CHUNK_URL_ALT_MAX 512 |
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).
|
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>
Define Documentation
#define CHUNK_URL_ALT_MAX 512 |
Function Documentation
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
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.
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.
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.
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.
Frees a location struct.
- Parameters:
-
- 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.
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.
Aborts a put request.
- Parameters:
-
| context | The DM context. |
| loc | As returned by dmlite_put. |
- Returns:
- 0 on success, error code otherwise.