Add ability to read client options

This commit is contained in:
Vladimir Mihailenco 2017-03-20 12:15:21 +02:00
parent a16aeec10f
commit ab1e8de9ea
3 changed files with 15 additions and 0 deletions

View File

@ -372,6 +372,11 @@ func NewClusterClient(opt *ClusterOptions) *ClusterClient {
return c return c
} }
// Options returns read-only Options that were used to create the client.
func (c *ClusterClient) Options() *ClusterOptions {
return c.opt
}
func (c *ClusterClient) state() *clusterState { func (c *ClusterClient) state() *clusterState {
v := c._state.Load() v := c._state.Load()
if v != nil { if v != nil {

View File

@ -21,6 +21,11 @@ func (c *baseClient) String() string {
return fmt.Sprintf("Redis<%s db:%d>", c.getAddr(), c.opt.DB) return fmt.Sprintf("Redis<%s db:%d>", c.getAddr(), c.opt.DB)
} }
// Options returns read-only Options that were used to create the client.
func (c *baseClient) Options() *Options {
return c.opt
}
func (c *baseClient) conn() (*pool.Conn, bool, error) { func (c *baseClient) conn() (*pool.Conn, bool, error) {
cn, isNew, err := c.connPool.Get() cn, isNew, err := c.connPool.Get()
if err != nil { if err != nil {

View File

@ -158,6 +158,11 @@ func NewRing(opt *RingOptions) *Ring {
return ring return ring
} }
// Options returns read-only Options that were used to create the client.
func (c *Ring) Options() *RingOptions {
return c.opt
}
// PoolStats returns accumulated connection pool stats. // PoolStats returns accumulated connection pool stats.
func (c *Ring) PoolStats() *PoolStats { func (c *Ring) PoolStats() *PoolStats {
var acc PoolStats var acc PoolStats