https://github.com/matjam/splash
splash is a pool arbitrated using a channel for resource handles.
https://github.com/matjam/splash
Last synced: about 1 month ago
JSON representation
splash is a pool arbitrated using a channel for resource handles.
- Host: GitHub
- URL: https://github.com/matjam/splash
- Owner: matjam
- License: mit
- Created: 2017-08-12T13:47:24.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-08-15T21:57:04.000Z (almost 9 years ago)
- Last Synced: 2025-01-11T14:26:20.976Z (over 1 year ago)
- Language: Go
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# About Splash
Splash gives you a managed resource pool. Resource pools provide a way to share exclusive resources among multiple goroutines in a safe way. Each pool uses a channel under the hood, and has a configured maximum capacity.
Pools have the following capabilities:
* Automatically maintain a minimum number of pool resources.
* Automatically remove a resource when returning a resource causes the pool to exceed it's capacity.
* Perform healthcheck on resources. Resources that fail healthchecks are removed.
* If a pool connection has not been used for a length of time (ie, timeout), it will be removed.
* Tack how many times the resources have been used, and for how long.
## Usage