Skip to content

RobertLeahy/ASIO-PQ-2

Repository files navigation

ASIO PQ

Build Status Build status

What is ASIO PQ?

ASIO PQ is a C++14 library which provides composed asynchronous operations against a PostgreSQL server over either TCP/IP or Unix domain sockets.

How does it work?

  1. Create an asio_pq::connection object (this is an RAII wrapper around a PGconn * which also binds in a boost::asio::io_service and provides the get_io_service() method
  2. Dispatch a connection attempt with asio_pq::async_connect
  3. On successful completion call PQsetnonblocking to enable non-blocking mode
  4. Begin a command as usual for asynchronous command processing
  5. Call asio_pq::async_get_result to asynchronously obtain an asio_pq::result object (this is an RAII wrapper around a PGresult *)

Types

  • connection
  • result

Operations

  • async_connect
  • async_get_result
  • cancel

Dependencies

  • Boost 1.58.0+

Other libraries are depended on, but are header only and are downloaded by CMake:

  • Beast
  • Catch
  • MPark Variant

Requirements

  • Clang 4+ or GCC 6.2.0+ or Microsoft Visual C++ 2017+
  • CMake 3.5+
  • libpq

Example

See unit tests.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published