Provided by: libbson-doc_1.3.1-1_all bug

NAME

       bson_context_t - BSON OID Generation Context

SYNOPSIS

       #include <bson.h>

       typedef enum
       {
          BSON_CONTEXT_NONE               = 0,
          BSON_CONTEXT_THREAD_SAFE        = (1 << 0),
          BSON_CONTEXT_DISABLE_HOST_CACHE = (1 << 1),
          BSON_CONTEXT_DISABLE_PID_CACHE  = (1 << 2),
       #if defined(__linux__)
          BSON_CONTEXT_USE_TASK_ID        = (1 << 3),
       #endif
       } bson_context_flags_t;

       typedef struct _bson_context_t bson_context_t;

       bson_context_t *bson_context_get_default (void) BSON_GNUC_CONST;
       bson_context_t *bson_context_new         (bson_context_flags_t  flags);
       void            bson_context_destroy     (bson_context_t       *context);

DESCRIPTION

       The  bson_context_t  structure  is context for generation of BSON Object IDs. This context
       allows for specialized overriding of how ObjectIDs are generated based on the applications
       requirements.  For  example, disabling of PID caching can be configured if the application
       cannot detect when a call to fork(3) has occurred.  \&.

EXAMPLE

       #include <bson.h>

       int main (int argc, char *argv[])
       {
          bson_context_t *ctx = NULL;
          bson_oid_t oid;

          /* use default context, via bson_context_get_default() */
          bson_oid_init (&oid, NULL);

          /* specify a local context for additional control */
          ctx = bson_context_new (BSON_CONTEXT_DISABLE_PID_CACHE | BSON_CONTEXT_THREAD_SAFE);
          bson_oid_init (&oid, ctx);

          bson_context_destroy (ctx);

          return 0;
       }

COLOPHON

       This    page    is    part    of    libbson.     Please     report     any     bugs     at
       https://jira.mongodb.org/browse/CDRIVER.