2016-03-12 11:52:13 +03:00
|
|
|
package pool
|
|
|
|
|
|
|
|
type SingleConnPool struct {
|
|
|
|
cn *Conn
|
|
|
|
}
|
|
|
|
|
2016-03-14 14:17:33 +03:00
|
|
|
var _ Pooler = (*SingleConnPool)(nil)
|
|
|
|
|
2016-03-12 11:52:13 +03:00
|
|
|
func NewSingleConnPool(cn *Conn) *SingleConnPool {
|
|
|
|
return &SingleConnPool{
|
|
|
|
cn: cn,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *SingleConnPool) First() *Conn {
|
|
|
|
return p.cn
|
|
|
|
}
|
|
|
|
|
2016-03-15 15:04:35 +03:00
|
|
|
func (p *SingleConnPool) Get() (*Conn, error) {
|
|
|
|
return p.cn, nil
|
2016-03-12 11:52:13 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
func (p *SingleConnPool) Put(cn *Conn) error {
|
|
|
|
if p.cn != cn {
|
|
|
|
panic("p.cn != cn")
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2016-03-12 13:41:02 +03:00
|
|
|
func (p *SingleConnPool) Replace(cn *Conn, _ error) error {
|
2016-03-12 11:52:13 +03:00
|
|
|
if p.cn != cn {
|
|
|
|
panic("p.cn != cn")
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *SingleConnPool) Len() int {
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *SingleConnPool) FreeLen() int {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2016-03-14 14:17:33 +03:00
|
|
|
func (p *SingleConnPool) Stats() *PoolStats {
|
|
|
|
return nil
|
|
|
|
}
|
2016-03-12 11:52:13 +03:00
|
|
|
|
|
|
|
func (p *SingleConnPool) Close() error {
|
|
|
|
return nil
|
|
|
|
}
|
2016-03-14 14:17:33 +03:00
|
|
|
|
|
|
|
func (p *SingleConnPool) Closed() bool {
|
|
|
|
return false
|
|
|
|
}
|