Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
BSON_WRITER_T(3)		     libbson			BSON_WRITER_T(3)

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
     2009-present, MongoDB, Inc.

1.30.8				  Aug 27, 2026			BSON_WRITER_T(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bson_writer_t&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help