pool

Connection pool for Go's net.Conn interface

  • 所有者: fatih/pool
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Archived project. No maintenance.

This project is not maintained anymore and is archived. Feel free to fork and
use make your own changes if needed.

Thanks all for their work on this project.

Pool GoDoc Build Status

Pool is a thread safe connection pool for net.Conn interface. It can be used to
manage and reuse connections.

Install and Usage

Install the package with:

go get github.com/fatih/pool

Please vendor the package with one of the releases: https://github.com/fatih/pool/releases.
master branch is development branch and will contain always the latest changes.

Example

// create a factory() to be used with channel based pool
factory    := func() (net.Conn, error) { return net.Dial("tcp", "127.0.0.1:4000") }

// create a new channel based pool with an initial capacity of 5 and maximum
// capacity of 30. The factory will create 5 initial connections and put it
// into the pool.
p, err := pool.NewChannelPool(5, 30, factory)

// now you can get a connection from the pool, if there is no connection
// available it will create a new one via the factory function.
conn, err := p.Get()

// do something with conn and put it back to the pool by closing the connection
// (this doesn't close the underlying connection instead it's putting it back
// to the pool).
conn.Close()

// close the underlying connection instead of returning it to pool
// it is useful when acceptor has already closed connection and conn.Write() returns error
if pc, ok := conn.(*pool.PoolConn); ok {
  pc.MarkUnusable()
  pc.Close()
}

// close pool any time you want, this closes all the connections inside a pool
p.Close()

// currently available connections in the pool
current := p.Len()

Credits

License

The MIT License (MIT) - see LICENSE for more details

主要指標

概覽
名稱與所有者fatih/pool
主編程語言Go
編程語言Go (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2013-11-28 14:02:50
推送於2018-07-22 10:02:14
最后一次提交2018-07-22 13:01:58
發布數3
最新版本名稱v3.0.0 (發布於 )
第一版名稱v1.0.0 (發布於 )
用户参与
星數1.4k
關注者數44
派生數292
提交數66
已啟用問題?
問題數12
打開的問題數0
拉請求數10
打開的拉請求數0
關閉的拉請求數7
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?