# Functions
NewPool creates a new pool with size and factory.
WithCloseFunc passes the CloseFunc callback to the pool.
WithFactory defines the connection creation factory.
WithLogger sets the logger for the pool.
WithSize defines the size of the pool.
# Variables
ErrConnectionClosed is returned when the pool is closed.
ErrConnectionNotExists returned when the connection doesn't exist or has already been closed.
ErrCouldNotAssignConnection when connection assignment fails.
ErrGroupNotExist returned when the group hasn't been created.
ErrInvalidConnectionPool returwhen the type assertion to ConnectionPool fails.
# Structs
ClientConn holds the function created by the pool factory method.
ConnectionPool holds the connections in the pool, alongwith the factory to create a new connection, size of each type of connection in the pool, and the CloseFunc callback used to close a specific connection in the pool.
# Interfaces
Connection interface is the connection saved in the pool.
FactoryConn interface is the connection returned by the factory passed to the pool.
Pool interface to create new pool implementations.