bpool

Buffer/Byte pool for Go

  • 所有者: oxtoacart/bpool
  • 平台:
  • 许可证: Apache License 2.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

bpool GoDoc

Package bpool implements leaky pools of byte arrays and Buffers as bounded channels.
It is based on the leaky buffer example from the Effective Go documentation: http://golang.org/doc/effective_go.html#leaky_buffer

bpool provides the following pool types:

  • bpool.BufferPool
    which provides a fixed-size pool of
    bytes.Buffers.
  • bpool.BytePool which
    provides a fixed-size pool of []byte slices with a pre-set width (length).
  • bpool.SizedBufferPool,
    which is an alternative to bpool.BufferPool that pre-sizes the capacity of
    buffers issued from the pool and discards buffers that have grown too large
    upon return.

A common use case for this package is to use buffers to execute HTML templates
against (via ExecuteTemplate) or encode JSON into (via json.NewEncoder). This
allows you to catch any rendering or marshalling errors prior to writing to a
http.ResponseWriter, which helps to avoid writing incomplete or malformed data
to the response.

Install

go get github.com/oxtoacart/bpool

Documentation

See godoc.org or use godoc github.com/oxtoacart/bpool

Example

Here's a quick example for using bpool.BufferPool. We create a pool of the
desired size, call the Get() method to obtain a buffer for use, and call
Put(buf) to return the buffer to the pool.


var bufpool *bpool.BufferPool

func main() {

    bufpool = bpool.NewBufferPool(48)

}

func someFunction() error {

     // Get a buffer from the pool
     buf := bufpool.Get()
     ...
     ...
     ...
     // Return the buffer to the pool
     bufpool.Put(buf)

     return nil
}

License

Apache 2.0 Licensed. See the LICENSE file for details.

主要指标

概览
名称与所有者oxtoacart/bpool
主编程语言Go
编程语言Go (语言数: 1)
平台
许可证Apache License 2.0
所有者活动
创建于2013-12-29 04:18:01
推送于2019-05-30 20:26:42
最后一次提交2019-05-30 12:17:43
发布数0
用户参与
星数474
关注者数12
派生数52
提交数18
已启用问题?
问题数3
打开的问题数3
拉请求数3
打开的拉请求数1
关闭的拉请求数1
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?