Menu Docs
Página inicial do Docs
/ / /
Driver C

Driver Async C: visualização pública

Nesta página

  • O que é escrita entre os tempos?
  • Por que se tornar assíncrono?
  • Começando com o entreoc
  • Feedback: sua voz é importante

Estamos muito satisfeitos em compartilhar o lançamento de um novo protótipo que poderá remodelar a forma como os desenvolvedores C interagem com o MongoDB: a biblioteca amongoc. Esse driver experimental aproveita o poder da programação assíncrona para oferecer uma interface eficiente e não bloqueante para as operações do MongoDB . Embora ainda esteja em pré-visualização pública e ainda não esteja pronto para produção, seu feedback terá um papel crucial na definição da direção futura deste projeto.

amongoc, abreviação de "driver C assíncrono do MongoDB ", foi projetado para desenvolvedores que precisam de uma biblioteca cliente assíncrona e de alto desempenho para o MongoDB. Ele implementa um subconjunto selecionado de APIs de driver MongoDB para fornecer uma prévia da aparência de um cliente assíncrono baseado em C. Ao avaliar esse protótipo, os desenvolvedores podem nos ajudar a obter insights críticos que podem influenciar o desenvolvimento de uma solução pronta para produção em um futuro próximo.

A Motivação para Criar amongoc está enraizada na Otimização de Desempenho e no Fornecimento de Alta Simultaneidade. A programação assíncrona desvincula o início de uma tarefa de sua continuação, abordando as ineficiências das operações síncronas, especialmente a E/S, que são inerentemente lentas e podem bloquear outros processos. A programação assíncrona permite que os aplicativos permaneçam responsivos enquanto aguardam a conclusão das operações de E/S, tornando-a ideal para casos de uso de alto desempenho e uso intensivo de rede. O amongoc também facilitará a integração do MongoDB em estruturas assíncronas como o Drogon. Em especial, ele também tem sido o recurso mais solicitado para o driver C pelos usuários.

Para explorar amongoc, visite o repositório do Github e acesse nossa documentação abrangente. Nossos recursos incluem:

O exemplo a seguir é um aplicação que inicializa um loop de eventos assíncrono e tenta estabelecer uma conexão com um servidor MongoDB local utilizando a biblioteca amongoc:

#include <amongoc/amongoc.h> // Make all APIs visible
#include <stdio.h>
#include <stdlib.h>
amongoc_box on_connect(amongoc_box userdata, amongoc_status *status, amongoc_box result);
int main(void)
{
amongoc_loop loop;
amongoc_status status = amongoc_default_loop_init(&loop);
amongoc_if_error(status, msg)
{
fprintf(stderr, "Failed to prepare the event loop: %s\n", msg);
return 2;
}
// Initiate a connection
amongoc_emitter em = amongoc_client_new(&loop, "mongodb://localhost:27017");
// Set the continuation
em = amongoc_then(em, &on_connect);
// Run the program
amongoc_detach_start(em);
amongoc_default_loop_run(&loop);
// Clean up
amongoc_default_loop_destroy(&loop);
return 0;
}
amongoc_box on_connect(amongoc_box userdata, amongoc_status *status, amongoc_box result)
{
// We aren't using the userdata for this example.
(void)userdata;
// Check for an error
amongoc_if_error(*status, msg)
{
fprintf(stderr, "Error while connecting to server: %s\n", msg);
}
else
{
printf("Successfully connected!\n");
amongoc_client *client;
amongoc_box_take(client, result);
// `client` now stores a valid client. We don't do anything else, so just delete it:
amongoc_client_delete(client);
}
amongoc_box_destroy(result);
return amongoc_nil;
}

Esta versão de pré-visualização pública tem como objetivo coletar feedback dos usuários para informar as decisões arquitetônicas de uma versão pronta para produção do amongoc. Convidamos você a compartilhar suas ideias e sugestões nas discussões e problemas do Github. Estamos especialmente interessados em suas Opiniões sobre a interface e os requisitos de construção e tempo de execução. Nosso objetivo é coletar o máximo possível de entradas de usuários para nos alinhar com as necessidades e expectativas de nossa comunidade de usuários. Seu feedback é inestimável e estamos ansiosos para ouvir sua mensagem e ver o que você criará com amongoc!

Voltar

Driver MongoDB C