createrepo_c library 1.2.1 C library for metadata manipulation

Data Structures | Functions
Useful thread function to use in GThreadPool.

Paralelized compression example: More...

## Data Structures
struct | cr_CompressionTask
struct | cr_RepomdRecordFillTask

## Functions
cr_CompressionTask * | cr_compressiontask_new (const char *src, const char *dst, cr_CompressionType compression_type, cr_ChecksumType checksum_type, const char *zck_dict_dir, gboolean zck_auto_chunk, int delsrc, GError **err)
void | cr_compressiontask_free (cr_CompressionTask *task, GError **err)
void | cr_compressing_thread (gpointer data, gpointer user_data)
cr_RepomdRecordFillTask * | cr_repomdrecordfilltask_new (cr_RepomdRecord *record, cr_ChecksumType checksum_type, GError **err)
void | cr_repomdrecordfilltask_free (cr_RepomdRecordFillTask *task, GError **err)
void | cr_repomd_record_fill_thread (gpointer data, gpointer user_data)
void | cr_rewrite_pkg_count_thread (gpointer data, gpointer user_data)

## Detailed Description

Paralelized compression example:

cr_CompressionTask *task_1, *task_2;
GThreadPool *pool;
// Prepare tasks
task_1 = cr_compressiontask_new("foo", "foo.gz", CR_CW_GZ_COMPRESSION, 1,
CR_CHECKSUM_SHA256, NULL);
task_2 = cr_compressiontask_new("bar", "bar.gz", CR_CW_GZ_COMPRESSION, 1,
CR_CHECKSUM_SHA512, NULL);
// Create pool for tasks
pool = g_thread_pool_new(cr_compressing_thread, NULL, 2, FALSE, NULL);
// Push tasks to the pool
g_thread_pool_push(pool, task_1, NULL);
g_thread_pool_push(pool, task_2, NULL);
// Wait until both treats finish and free the pool.
g_thread_pool_free(pool, FALSE, TRUE);
// Use results
// Do whatever you want or need to do
// Clean up
cr_compressiontask_free(task_1, NULL);
cr_compressiontask_free(task_2, NULL);

## Function Documentation

## ◆ cr_compressing_thread()

void cr_compressing_thread | ( | gpointer | data,
|  | gpointer | user_data
| ) |  |

Function for GThreadPool.

## ◆ cr_compressiontask_free()

void cr_compressiontask_free | ( | cr_CompressionTask * | task,
|  | GError ** | err
| ) |  |

Frees cr_CompressionTask and all its components.

Parameters

  task | cr_CompressionTask task
  err | GError **

## ◆ cr_compressiontask_new()

cr_CompressionTask* cr_compressiontask_new | ( | const char * | src,
|  | const char * | dst,
|  | cr_CompressionType | compression_type,
|  | cr_ChecksumType | checksum_type,
|  | const char * | zck_dict_dir,
|  | gboolean | zck_auto_chunk,
|  | int | delsrc,
|  | GError ** | err
| ) |  |

Function to prepare a new cr_CompressionTask.

Parameters

  src | Source filename.
  dst | Destination filename or NULL (then src+compression suffix will be used).
  compression_type | Type of compression to use.
  checksum_type | Checksum type for stat calculation. Note: Stat is always use. If you don't need a stats use CR_CHECKSUM_UNKNOWN, then no checksum calculation will be performed, only size would be calculated. Don't be afraid, size calculation has almost no overhead.
  delsrc | Delete src after successuful compression. 0 = Do not delete, delete otherwise
  err | GError **. Note: This is a GError for the cr_compresiontask_new function. The GError that will be at created cr_CompressionTask is different.

Returns
  New cr_CompressionTask.

## ◆ cr_repomd_record_fill_thread()

void cr_repomd_record_fill_thread | ( | gpointer | data,
|  | gpointer | user_data
| ) |  |

Function for GThread Pool.

## ◆ cr_repomdrecordfilltask_free()

void cr_repomdrecordfilltask_free | ( | cr_RepomdRecordFillTask * | task,
|  | GError ** | err
| ) |  |

Frees cr_RepomdRecordFillTask

## ◆ cr_repomdrecordfilltask_new()

cr_RepomdRecordFillTask* cr_repomdrecordfilltask_new | ( | cr_RepomdRecord * | record,
|  | cr_ChecksumType | checksum_type,
|  | GError ** | err
| ) |  |

Function to prepare a new cr_RepomdRecordFillTask.

Parameters

  record | cr_RepomdRecord.
  checksum_type | Type of checksum.
  err | GError **

Returns
  New cr_RepomdRecordFillTask.

## ◆ cr_rewrite_pkg_count_thread()

void cr_rewrite_pkg_count_thread | ( | gpointer | data,
|  | gpointer | user_data
| ) |  |

Function for GThread Pool.

cr_CompressionTask
Definition: threads.h:69
CR_CHECKSUM_SHA512
@ CR_CHECKSUM_SHA512
Definition: checksum.h:53
CR_CW_GZ_COMPRESSION
@ CR_CW_GZ_COMPRESSION
Definition: compression_wrapper.h:41
cr_compressiontask_new
cr_CompressionTask * cr_compressiontask_new(const char *src, const char *dst, cr_CompressionType compression_type, cr_ChecksumType checksum_type, const char *zck_dict_dir, gboolean zck_auto_chunk, int delsrc, GError **err)
cr_compressiontask_free
void cr_compressiontask_free(cr_CompressionTask *task, GError **err)
CR_CHECKSUM_SHA256
@ CR_CHECKSUM_SHA256
Definition: checksum.h:51
cr_compressing_thread
void cr_compressing_thread(gpointer data, gpointer user_data)