2016-03-12 11:52:13 +03:00
|
|
|
package pool
|
|
|
|
|
2019-06-04 14:05:29 +03:00
|
|
|
import "context"
|
|
|
|
|
2016-03-12 11:52:13 +03:00
|
|
|
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,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-04-17 15:43:58 +03:00
|
|
|
func (p *SingleConnPool) NewConn() (*Conn, error) {
|
|
|
|
panic("not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *SingleConnPool) CloseConn(*Conn) error {
|
|
|
|
panic("not implemented")
|
|
|
|
}
|
|
|
|
|
2019-06-08 15:36:00 +03:00
|
|
|
func (p *SingleConnPool) Get(ctx context.Context) (*Conn, error) {
|
2018-05-28 17:27:24 +03:00
|
|
|
return p.cn, nil
|
2016-03-12 11:52:13 +03:00
|
|
|
}
|
|
|
|
|
2018-05-28 17:27:24 +03:00
|
|
|
func (p *SingleConnPool) Put(cn *Conn) {
|
2016-03-12 11:52:13 +03:00
|
|
|
if p.cn != cn {
|
|
|
|
panic("p.cn != cn")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-05-28 17:27:24 +03:00
|
|
|
func (p *SingleConnPool) Remove(cn *Conn) {
|
2016-03-12 11:52:13 +03:00
|
|
|
if p.cn != cn {
|
|
|
|
panic("p.cn != cn")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *SingleConnPool) Len() int {
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
2018-05-28 17:27:24 +03:00
|
|
|
func (p *SingleConnPool) IdleLen() int {
|
2016-03-12 11:52:13 +03:00
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2016-10-02 15:44:01 +03:00
|
|
|
func (p *SingleConnPool) Stats() *Stats {
|
2016-03-14 14:17:33 +03:00
|
|
|
return nil
|
|
|
|
}
|
2016-03-12 11:52:13 +03:00
|
|
|
|
|
|
|
func (p *SingleConnPool) Close() error {
|
|
|
|
return nil
|
|
|
|
}
|