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

NAME

       bson_context_t - bson_context_t

       BSON OID Generation Context

SYNOPSIS

          #include <bson/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),
          #ifdef BSON_HAVE_SYSCALL_TID
            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  overriding  behavior  of  generating  ObjectIDs.  The   flags   BSON_CONTEXT_NONE,
       BSON_CONTEXT_THREAD_SAFE,  and BSON_CONTEXT_DISABLE_HOST_CACHE are the only ones used. The
       others have no effect.

EXAMPLE

          #include <bson/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_THREAD_SAFE);
             bson_oid_init (&oid, ctx);

             bson_context_destroy (ctx);

             return 0;
          }

AUTHOR

       MongoDB, Inc

COPYRIGHT

       2017-present, MongoDB, Inc