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

NAME

       bson_writer_t - bson_writer_t

       Bulk BSON serialization Abstraction

SYNOPSIS

          #include <bson/bson.h>

          typedef struct _bson_writer_t bson_writer_t;

          bson_writer_t *
          bson_writer_new (uint8_t **buf,
                           size_t *buflen,
                           size_t offset,
                           bson_realloc_func realloc_func,
                           void *realloc_func_ctx);
          void
          bson_writer_destroy (bson_writer_t *writer);

DESCRIPTION

       The  bson_writer_t  API  provides  an abstraction for serializing many BSON documents to a
       single memory region. The memory region may be dynamically allocated and  re-allocated  as
       more  memory  is  demanded.  This  can  be  useful  when  building  network packets from a
       high-level language. For example, you can serialize a  Python  Dictionary  directly  to  a
       single buffer destined for a TCP packet.

EXAMPLE

          #include <bson/bson.h>

          int
          main (int argc, char *argv[])
          {
             bson_writer_t *writer;
             uint8_t *buf = NULL;
             size_t buflen = 0;
             bson_t *doc;

             writer = bson_writer_new (&buf, &buflen, 0, bson_realloc_ctx, NULL);

             for (i = 0; i < 1000; i++) {
                bson_writer_begin (writer, &doc);
                BSON_APPEND_INT32 (&doc, "i", i);
                bson_writer_end (writer);
             }

             bson_writer_destroy (writer);

             bson_free (buf);

             return 0;
          }

AUTHOR

       MongoDB, Inc

COPYRIGHT

       2017-present, MongoDB, Inc