Jack Christensen
fddf7bbdb9
Rename avaible resources to idle resources
2018-12-26 13:22:46 -06:00
Jack Christensen
ebf42e3ab9
Consistently use term acquired instead of borrowed
2018-12-26 13:20:14 -06:00
Jack Christensen
47190588bc
Remove runtime changing of pool size
...
Reducing pool to minimize required functionality
2018-12-26 13:11:49 -06:00
Jack Christensen
3edeea2574
Remove min size
...
Pruning pool functionality
2018-12-26 13:05:03 -06:00
Jack Christensen
7df4afe7d3
Add Resource.Hijack
2018-12-26 13:03:07 -06:00
Jack Christensen
af5402c2dd
Add fast path, tests, and benchmarks for non-cancellable contexts
2018-12-26 03:11:49 -06:00
Jack Christensen
ab3795c24c
Pool.Close blocks until all resources released and destructed
...
Renamed resource constructor and destructor callbacks.
2018-12-26 02:59:36 -06:00
Jack Christensen
f718a625cf
Resolve some potential deadlocks
...
Tweak benchmarks
2018-12-26 02:24:07 -06:00
Jack Christensen
dd010296a6
Convert allResources from map to array
2018-12-26 00:18:30 -06:00
Jack Christensen
667f04e9f7
Remove resource limits
...
Acquire health check will be able to take over this functionality.
2018-12-25 20:13:36 -06:00
Jack Christensen
179bc9b8c7
Better benchmarking
2018-12-25 19:54:51 -06:00
Jack Christensen
590f7e07cb
Remove unnecessary wrapping func
2018-12-25 19:27:33 -06:00
Jack Christensen
4ef5d16aa8
Rename Get to Acquire
2018-12-25 19:23:50 -06:00
Jack Christensen
3afe49e88b
Releasing or destroying Resource is called by resource
...
This makes it impossible to return a resource to a pool that it did
not come from.
2018-12-25 19:17:57 -06:00
Jack Christensen
09852e05d7
Simplify close logic
2018-12-25 14:47:00 -06:00
Jack Christensen
7c5f3f0446
Define close resource not to return an error
...
There is nothing the pool can do on an error. If the client code
wishes to handle or log errors it can do so in the close resource
function.
This removes the need for background error reporting.
2018-12-25 14:25:10 -06:00
Jack Christensen
d4f6b3dbba
Only create resources in Get
...
Add context to create func.
2018-12-25 14:09:45 -06:00
Jack Christensen
98fd1f3693
More benchmarks
2018-12-24 13:08:32 -06:00
Jack Christensen
1396b8ec46
Rename max resource uses to max resource checkouts
2018-12-24 12:19:18 -06:00
Jack Christensen
2090b0ade1
Remove refactor tests from todo list
2018-12-24 12:12:24 -06:00
Jack Christensen
b3026d0d8f
Improve test robustness
2018-12-24 12:12:02 -06:00
Jack Christensen
9ede55618e
Use createCreateResourceFunc
2018-12-24 12:09:57 -06:00
Jack Christensen
49b32fb7f3
Extract createCloseResourceFuncWithNotifierChan
2018-12-24 12:07:48 -06:00
Jack Christensen
3559b7b000
Extract createCreateResourceFuncWithNotifierChan()
2018-12-24 12:02:59 -06:00
Jack Christensen
d5a4c6123d
Extract waitForRead
2018-12-24 11:49:58 -06:00
Jack Christensen
21f1464f4b
Extract createCreateResourceFunc
2018-12-24 11:46:33 -06:00
Jack Christensen
18c4f8306a
Add max resource uses
2018-12-24 10:48:30 -06:00
Jack Christensen
76b0c06b8b
Add max resource lifetime checking on return
2018-12-23 21:28:18 -06:00
Jack Christensen
778ac737e5
Add *Pool.Remove(res)
2018-12-23 16:40:09 -06:00
Jack Christensen
bc74a79c98
Add min pool size
2018-12-23 16:03:30 -06:00
Jack Christensen
e3d027932a
Update todo list
2018-12-23 16:03:13 -06:00
Jack Christensen
ad59a9263d
Add background error handling
2018-12-22 23:10:48 -06:00
Jack Christensen
45336ddb3f
Name project "Puddle"
...
pool was inconvenient as a name because the obvious name for a variable
is pool. But that caused a name collision with the package.
2018-12-22 21:18:27 -06:00
Jack Christensen
4f3c383c87
Add README.md
2018-12-22 19:09:27 -06:00
Jack Christensen
f19cb3c6c4
Add close resource
2018-12-22 18:55:53 -06:00
Jack Christensen
f39c666932
Add pool max size
2018-12-22 18:21:18 -06:00
Jack Christensen
201d8561f9
Initial commit
2018-12-22 16:40:42 -06:00