GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MTBL_FILESET (3)

.ds Aq ’

NAME

mtbl_fileset - automatic multiple MTBL data file merger

CONTENTS

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);

void
mtbl_fileset_reload_now(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_interval(
        struct mtbl_fileset_options *fopt,
        uint32_t reload_interval);

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 and the mtbl_source is infrequently accessed.

The mtbl_fileset_reload() function avoids checking for updates more frequently than every reload_interval seconds. The mtbl_fileset_reload_now() function can be called to bypass the reload_interval check.

    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.

Search for    or go to Top of page |  Section 3 |  Main Index


& MTBL_FILESET (3) 07/11/2015

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.