pgator.db.async

Modules

pool
module pgator.db.async.pool

Default implementation of IConnectionPool. It is consists of four worker thread that holding corresponding connection lists: closed connections, connecting connections, free connections and quering connections. * Closed connections thread accepts connection to a SQL server and waits specified moment to start establishing process. All failed connections are passed into the worker to try again later. * Connecting connections thread handles connection establishing procedure. Connection establishing process is done in asynchronous way (non-blocking polling). All new connections are passed to the worker. If connection is failed, it is passed to closed connections thread, else if it successes, it is passed to free connections thread. * Free connections thread watch after idle connections. If one want to make a query, pool asks the free connections worker for one. If there is no free connection for specified amount of time, timeout exception is thrown, else returned connection is binded with transaction information and is sent to quering connections worker. Also free connections worker watches after health of each connection, if a free connection dies, it is sent to closed connections process to try to open later.

respond
module pgator.db.async.respond

Part of asynchronous pool realization.

transaction
module pgator.db.async.transaction

Part of asynchronous pool realization.

workers
module pgator.db.async.workers