BSON_CONTEXT_T(3)

BSON OID Generation Context

SYNOPSIS

            #include <bson/bson.h>

            typedef enum {
              BSON_CONTEXT_NONE = 0,
              BSON_CONTEXT_DISABLE_PID_CACHE = (1 << 2),
            } bson_context_flags_t;

            typedef struct _bson_context_t bson_context_t;

            bson_context_t *
            bson_context_get_default (void);
            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_PID_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_NONE);
               bson_oid_init (&oid, ctx);

               bson_context_destroy (ctx);

               return 0;
            }

AUTHOR
MongoDB, Inc

COPYRIGHT
2009-present, MongoDB, Inc.