vibe.d beta banner
get vibe.d

Class ConnectionPool

Generic connection pool class.

The connection pool is creating connections using the supplied factory function as needed whenever lockConnection is called. Connections are associated to the calling fiber, as long as any copy of the returned LockedConnection object still exists. Connections that are not associated to any fiber will be kept in a pool of open connections for later reuse.

Note that, after retrieving a connection with lockConnection, the caller has to make sure that the connection is actually physically open and to reopen it if necessary. The ConnectionPool class has no knowledge of the internals of the connection objects.

Template arguments

class ConnectionPool(Connection);

Inherits from

  • Object (base class)


Name Description


Name Type Description
m_connectionFactory Connection delegate()
m_connections Connection[]
m_lockCount int[const(Connection)]
m_sem FreeListRef!LocalTaskSemaphore


Name Type Description
maxConcurrency [get, set] uint Determines the maximum number of concurrently open connections.


Name Description
lockConnection Retrieves a connection to temporarily associate with the calling fiber.

Sönke Ludwig


© 2012 RejectedSoftware e.K.


Subject to the terms of the MIT license, as written in the included LICENSE.txt file.