Documented options

This commit is contained in:
Dimitrij Denissenko 2015-01-31 14:54:37 +00:00
parent f05782eeaa
commit a6385ccf0a
3 changed files with 58 additions and 15 deletions

View File

@ -251,13 +251,13 @@ func (p *connPool) Close() (err error) {
for { for {
if p.Size() < 1 { if p.Size() < 1 {
return break
} }
if e := p.remove(<-p.conns); e != nil { if e := p.remove(<-p.conns); e != nil {
err = e err = e
} }
} }
panic("not reached") return
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@ -153,22 +153,44 @@ type options struct {
} }
type Options struct { type Options struct {
// The network type, either "tcp" or "unix".
// Default: "tcp"
Network string Network string
Addr string // The network address.
Addr string
// Dialer creates new network connection and has priority over // Dialer creates new network connection and has priority over
// Network and Addr options. // Network and Addr options.
Dialer func() (net.Conn, error) Dialer func() (net.Conn, error)
// An optional password. Must match the password specified in the
// `requirepass` server configuration option.
Password string Password string
DB int64 // Select a database.
// Default: 0
DB int64
DialTimeout time.Duration // Sets the deadline for establishing new connections. If reached,
ReadTimeout time.Duration // deal attepts will fail with a timeout.
DialTimeout time.Duration
// Sets the deadline for socket reads. If reached, commands will
// fail with a timeout instead of blocking.
ReadTimeout time.Duration
// Sets the deadline for socket writes. If reached, commands will
// fail with a timeout instead of blocking.
WriteTimeout time.Duration WriteTimeout time.Duration
PoolSize int // The maximum number of socket connections.
// Default: 10
PoolSize int
// If all socket connections is the pool are busy, the pool will wait
// this amount of time for a conection to become available, before
// returning an error.
// Default: 5s
PoolTimeout time.Duration PoolTimeout time.Duration
// Evict connections from the pool after they have been idle for longer
// than specified in this option.
// Default: 0 = no eviction
IdleTimeout time.Duration IdleTimeout time.Duration
} }

View File

@ -12,19 +12,40 @@ import (
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
type FailoverOptions struct { type FailoverOptions struct {
MasterName string // The master name.
MasterName string
// Seed addresses of sentinel nodes.
SentinelAddrs []string SentinelAddrs []string
// An optional password. Must match the password specified in the
// `requirepass` server configuration option.
Password string Password string
DB int64 // Select a database.
// Default: 0
DB int64
PoolSize int // Sets the deadline for establishing new connections. If reached,
// deal attepts will fail with a timeout.
DialTimeout time.Duration DialTimeout time.Duration
ReadTimeout time.Duration // Sets the deadline for socket reads. If reached, commands will
// fail with a timeout instead of blocking.
ReadTimeout time.Duration
// Sets the deadline for socket writes. If reached, commands will
// fail with a timeout instead of blocking.
WriteTimeout time.Duration WriteTimeout time.Duration
PoolTimeout time.Duration
IdleTimeout time.Duration // The maximum number of socket connections.
// Default: 10
PoolSize int
// If all socket connections is the pool are busy, the pool will wait
// this amount of time for a conection to become available, before
// returning an error.
// Default: 5s
PoolTimeout time.Duration
// Evict connections from the pool after they have been idle for longer
// than specified in this option.
// Default: 0 = no eviction
IdleTimeout time.Duration
} }
func (opt *FailoverOptions) getPoolSize() int { func (opt *FailoverOptions) getPoolSize() int {