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.
|
int | dmlite_getpools (dmlite_context *context, unsigned *nPools, dmlite_pool **pools) |
| Gets the list of pools. More...
|
|
int | dmlite_pools_free (unsigned nPools, dmlite_pool *pools) |
| Frees an array of pools. More...
|
|
dmlite_location * | dmlite_get (dmlite_context *context, const char *path) |
| Gets a single replica (synchronous). More...
|
|
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). More...
|
|
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. More...
|
|
dmlite_location * | dmlite_iget (dmlite_context *context, ino_t inode) |
| Gets a single replica (synchronous). More...
|
|
dmlite_location * | dmlite_getlocation (dmlite_context *context, const dmlite_replica *replica) |
| Gets the location of a replica. More...
|
|
dmlite_location * | dmlite_put (dmlite_context *context, const char *path) |
| Puts a file (synchronous). More...
|
|
dmlite_location * | dmlite_chooseserver (dmlite_context *context, const char *path) |
| Choose a server where to perform generic actions (e.g. a tunnel) More...
|
|
int | dmlite_put_abort (dmlite_context *context, const dmlite_location *loc) |
| Aborts a put request. More...
|
|
int | dmlite_location_free (dmlite_location *loc) |
| Frees a location struct. More...
|
|
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. More...
|
|
C wrapper for DMLite Pool API.
- Author
- Alejandro Álvarez Ayllon aalva.nosp@m.rez@.nosp@m.cern..nosp@m.ch
◆ CHUNK_ID_MAX
◆ CHUNK_URL_ALT_MAX
#define CHUNK_URL_ALT_MAX 512 |
◆ POOL_MAX
◆ POOL_TYPE_MAX
◆ dmlite_chunk
◆ dmlite_location
Collection of chunks that form a replica.
On read, there may be duplicated chunks.
◆ dmlite_pool
◆ dmlite_xferinfo
Progress markers for file copies. FTS jargon calls these "FTS performance markers".
◆ dmlite_chooseserver()
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.
◆ dmlite_copypull()
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
◆ dmlite_copypush()
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_get()
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.
◆ dmlite_getdirspaces()
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_getlocation()
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.
◆ dmlite_getpools()
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_iget()
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.
◆ dmlite_location_free()
Frees a location struct.
- Parameters
-
- Returns
- 0 on success, error code otherwise.
◆ dmlite_pools_free()
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_put()
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.
◆ dmlite_put_abort()
Aborts a put request.
- Parameters
-
context | The DM context. |
loc | As returned by dmlite_put. |
- Returns
- 0 on success, error code otherwise.