Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mtbl_fileset(3) [debian man page]

MTBL_FILESET(3) 														   MTBL_FILESET(3)

NAME
mtbl_fileset - automatic multiple MTBL data file merger SYNOPSIS
#include <mtbl.h> Fileset objects: struct mtbl_fileset * mtbl_fileset_init(const char *fname, const struct mtbl_fileset_options *fopt); void mtbl_fileset_destroy(struct mtbl_fileset **f); void mtbl_fileset_reload(struct mtbl_fileset *f); const struct mtbl_source * mtbl_fileset_source(struct mtbl_fileset *f); Fileset options: struct mtbl_fileset_options * mtbl_fileset_options_init(void); void mtbl_fileset_options_destroy(struct mtbl_fileset_options **fopt); void mtbl_fileset_options_set_merge_func( struct mtbl_fileset_options *fopt, mtbl_merge_func fp, void *clos); void mtbl_fileset_options_set_reload_frequency( struct mtbl_fileset_options *fopt, uint32_t reload_frequency); DESCRIPTION
The mtbl_fileset is a convenience interface for automatically maintaining a merged view of a set of MTBL data files. The merged entries may be consumed via the mtbl_source(3) and mtbl_iter(3) interfaces. mtbl_fileset objects are initialized from a "setfile", which specifies a list of filenames of MTBL data files, one per line. Internally, an mtbl_reader object is initialized from each filename and added to an mtbl_merger object. The setfile is watched for changes and the addition or removal of filenames from the setfile will result in the corresponding addition or removal of mtbl_reader objects. Because the MTBL format does not allow duplicate keys, the caller must provide a function which will accept a key and two conflicting values for that key and return a replacement value. This function may be called multiple times for the same key if the same key is inserted more than twice. See mtbl_merger(3) for further details about the merge function. mtbl_fileset objects are created with the mtbl_fileset_init() function, which requires the path to a "setfile", fname, and a non-NULL fopt argument which has been configured with a merge function fp. mtbl_fileset_source() should then be called in order to consume output via the mtbl_source(3) interface. Accesses via the mtbl_source(3) interface will implicitly check for updates to the setfile. However, it may be necessary to explicitly call the mtbl_fileset_reload() function in order to check for updates, especially if files are being removed from the setfile. Fileset options merge_func See mtbl_merger(3). An mtbl_merger object is used internally for the external sort. reload_interval Specifies the interval between checks for updates to the setfile, in seconds. Defaults to 60 seconds. 05/29/2012 MTBL_FILESET(3)

Check Out this Related Man Page

MTBL_SOURCE(3)															    MTBL_SOURCE(3)

NAME
mtbl_source - obtain key-value entries from a data source SYNOPSIS
#include <mtbl.h> struct mtbl_iter * mtbl_source_iter(const struct mtbl_source *s); struct mtbl_iter * mtbl_source_get(const struct mtbl_source *s, const uint8_t *key, size_t len_key); struct mtbl_iter * mtbl_source_get_prefix( const struct mtbl_source *s, const uint8_t *prefix, size_t len_prefix); struct mtbl_iter * mtbl_source_get_range( const struct mtbl_source *s, const uint8_t *key0, size_t len_key0, const uint8_t *key1, size_t len_key1); mtbl_res mtbl_source_write(const struct mtbl_source *s, struct mtbl_writer *w); void mtbl_source_destroy(struct mtbl_source **s); DESCRIPTION
The mtbl_source iterface provides an abstraction for reading key-value entries from mtbl data sources. mtbl_source_iter() provides an iterator over all of the entries in the data source. mtbl_source_get() provides an exact match iterator which returns all entries whose key matches the key provided in the arguments key and len_key. mtbl_source_get_prefix() provides a prefix iterator which returns all entries whose keys start with prefix and are at least len_prefix bytes long. mtbl_source_get_range() provides a range iterator which returns all entries whose keys are between key0 and key1 inclusive. mtbl_source_write() is a convenience function for reading all of the entries from a source and writing them to an mtbl_writer object. It is equivalent to calling mtbl_writer_add() on all of the entries returned from mtbl_source_iter(). RETURN VALUE
mtbl_source_iter(), mtbl_source_get(), mtbl_source_get_prefix(), and mtbl_source_get_range() return mtbl_iter objects. mtbl_source_write() returns mtbl_res_success if all of the entries in the data source were successfully written to the mtbl_writer argument, and mtbl_res_failure otherwise. SEE ALSO
mtbl_iter(3) 05/29/2012 MTBL_SOURCE(3)
Man Page