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

FreeBSD Manual Pages

  
 
  

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 dynami-
       cally 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.2				 Apr 12, 2025		      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+14.3.quarterly>

home | help