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.
Inherits from
-
Object
(base class)
Constructors
Name | Description |
---|---|
this
|
Fields
Name | Type | Description |
---|---|---|
m_connectionFactory
|
Connection delegate() |
|
m_connections
|
Connection[] |
|
m_lockCount
|
int[const(Connection)] |
|
m_sem
|
FreeListRef!LocalTaskSemaphore |
Properties
Name | Type | Description |
---|---|---|
maxConcurrency
[get, set]
|
uint |
Determines the maximum number of concurrently open connections. |
Methods
Name | Description |
---|---|
lockConnection
|
Retrieves a connection to temporarily associate with the calling fiber. |
Authors
Sönke Ludwig
Copyright
© 2012 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.