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.
|
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".
|
|
|
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.
|
|
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
typedef struct dmlite_chunk dmlite_chunk |
◆ dmlite_location
typedef struct dmlite_location dmlite_location |
Collection of chunks that form a replica.
On read, there may be duplicated chunks.
◆ dmlite_pool
typedef struct dmlite_pool dmlite_pool |
◆ dmlite_xferinfo
typedef struct dmlite_xferinfo 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.