diff --git a/Gopkg.lock b/Gopkg.lock index ee14e69..fa21dce 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -163,12 +163,6 @@ packages = ["."] revision = "a7a4c189eb47ed33ce7b35f2880070a0c82a67d4" -[[projects]] - branch = "master" - name = "github.com/oxtoacart/bpool" - packages = ["."] - revision = "4e1c5567d7c2dd59fa4c7c83d34c2f3528b025d6" - [[projects]] name = "github.com/pkg/errors" packages = ["."] @@ -262,6 +256,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "d04763e300ad6a22378bfaa45be86202d02659a6d01426d781b3062dc5c4ff67" + inputs-digest = "e36c7dd8cc83fc16b10af5a8e3cfd768a3da534480cff4e0384ca1f3b4d050f5" solver-name = "gps-cdcl" solver-version = 1 diff --git a/vendor/github.com/oxtoacart/bpool/LICENSE b/vendor/github.com/oxtoacart/bpool/LICENSE deleted file mode 100644 index f94e97c..0000000 --- a/vendor/github.com/oxtoacart/bpool/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2014 Percy Wegmann - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/oxtoacart/bpool/README.md b/vendor/github.com/oxtoacart/bpool/README.md deleted file mode 100644 index 9acf3f9..0000000 --- a/vendor/github.com/oxtoacart/bpool/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# bpool [![GoDoc](https://godoc.org/github.com/oxtoacart/bpool?status.png)](https://godoc.org/github.com/oxtoacart/bpool) - -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](https://godoc.org/github.com/oxtoacart/bpool#BufferPool) - which provides a fixed-size pool of - [bytes.Buffers](http://golang.org/pkg/bytes/#Buffer). -* [bpool.BytePool](https://godoc.org/github.com/oxtoacart/bpool#BytePool) which - provides a fixed-size pool of `[]byte` slices with a pre-set width (length). -* [bpool.SizedBufferPool](https://godoc.org/github.com/oxtoacart/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](http://godoc.org/github.com/oxtoacart/bpool) 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. - -```go - -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. - diff --git a/vendor/github.com/oxtoacart/bpool/bpool.go b/vendor/github.com/oxtoacart/bpool/bpool.go deleted file mode 100644 index 6232a38..0000000 --- a/vendor/github.com/oxtoacart/bpool/bpool.go +++ /dev/null @@ -1,6 +0,0 @@ -/* -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 -*/ -package bpool diff --git a/vendor/github.com/oxtoacart/bpool/bufferpool.go b/vendor/github.com/oxtoacart/bpool/bufferpool.go deleted file mode 100644 index 8c8ac64..0000000 --- a/vendor/github.com/oxtoacart/bpool/bufferpool.go +++ /dev/null @@ -1,40 +0,0 @@ -package bpool - -import ( - "bytes" -) - -// BufferPool implements a pool of bytes.Buffers in the form of a bounded -// channel. -type BufferPool struct { - c chan *bytes.Buffer -} - -// NewBufferPool creates a new BufferPool bounded to the given size. -func NewBufferPool(size int) (bp *BufferPool) { - return &BufferPool{ - c: make(chan *bytes.Buffer, size), - } -} - -// Get gets a Buffer from the BufferPool, or creates a new one if none are -// available in the pool. -func (bp *BufferPool) Get() (b *bytes.Buffer) { - select { - case b = <-bp.c: - // reuse existing buffer - default: - // create new buffer - b = bytes.NewBuffer([]byte{}) - } - return -} - -// Put returns the given Buffer to the BufferPool. -func (bp *BufferPool) Put(b *bytes.Buffer) { - b.Reset() - select { - case bp.c <- b: - default: // Discard the buffer if the pool is full. - } -} diff --git a/vendor/github.com/oxtoacart/bpool/bufferpool_test.go b/vendor/github.com/oxtoacart/bpool/bufferpool_test.go deleted file mode 100644 index b344bdc..0000000 --- a/vendor/github.com/oxtoacart/bpool/bufferpool_test.go +++ /dev/null @@ -1,30 +0,0 @@ -package bpool - -import ( - "bytes" - "testing" -) - -func TestBufferPool(t *testing.T) { - var size int = 4 - - bufPool := NewBufferPool(size) - - // Test Get/Put - b := bufPool.Get() - bufPool.Put(b) - - // Add some additional buffers beyond the pool size. - for i := 0; i < size*2; i++ { - bufPool.Put(bytes.NewBuffer([]byte{})) - } - - // Close the channel so we can iterate over it. - close(bufPool.c) - - // Check the size of the pool. - if len(bufPool.c) != size { - t.Fatalf("bufferpool size invalid: got %v want %v", len(bufPool.c), size) - } - -} diff --git a/vendor/github.com/oxtoacart/bpool/bytepool.go b/vendor/github.com/oxtoacart/bpool/bytepool.go deleted file mode 100644 index ef3898a..0000000 --- a/vendor/github.com/oxtoacart/bpool/bytepool.go +++ /dev/null @@ -1,45 +0,0 @@ -package bpool - -// BytePool implements a leaky pool of []byte in the form of a bounded -// channel. -type BytePool struct { - c chan []byte - w int -} - -// NewBytePool creates a new BytePool bounded to the given maxSize, with new -// byte arrays sized based on width. -func NewBytePool(maxSize int, width int) (bp *BytePool) { - return &BytePool{ - c: make(chan []byte, maxSize), - w: width, - } -} - -// Get gets a []byte from the BytePool, or creates a new one if none are -// available in the pool. -func (bp *BytePool) Get() (b []byte) { - select { - case b = <-bp.c: - // reuse existing buffer - default: - // create new buffer - b = make([]byte, bp.w) - } - return -} - -// Put returns the given Buffer to the BytePool. -func (bp *BytePool) Put(b []byte) { - select { - case bp.c <- b: - // buffer went back into pool - default: - // buffer didn't go back into pool, just discard - } -} - -// Width returns the width of the byte arrays in this pool. -func (bp *BytePool) Width() (n int) { - return bp.w -} diff --git a/vendor/github.com/oxtoacart/bpool/bytepool_test.go b/vendor/github.com/oxtoacart/bpool/bytepool_test.go deleted file mode 100644 index 216fd5b..0000000 --- a/vendor/github.com/oxtoacart/bpool/bytepool_test.go +++ /dev/null @@ -1,37 +0,0 @@ -package bpool - -import "testing" - -func TestBytePool(t *testing.T) { - var size int = 4 - var width int = 10 - - bufPool := NewBytePool(size, width) - - // Check the width - if bufPool.Width() != width { - t.Fatalf("bytepool width invalid: got %v want %v", bufPool.Width(), width) - } - - // Check that retrieved buffer are of the expected width - b := bufPool.Get() - if len(b) != width { - t.Fatalf("bytepool length invalid: got %v want %v", len(b), width) - } - - bufPool.Put(b) - - // Fill the pool beyond the capped pool size. - for i := 0; i < size*2; i++ { - bufPool.Put(make([]byte, bufPool.w)) - } - - // Close the channel so we can iterate over it. - close(bufPool.c) - - // Check the size of the pool. - if len(bufPool.c) != size { - t.Fatalf("bytepool size invalid: got %v want %v", len(bufPool.c), size) - } - -} diff --git a/vendor/github.com/oxtoacart/bpool/sizedbufferpool.go b/vendor/github.com/oxtoacart/bpool/sizedbufferpool.go deleted file mode 100644 index 8519aca..0000000 --- a/vendor/github.com/oxtoacart/bpool/sizedbufferpool.go +++ /dev/null @@ -1,60 +0,0 @@ -package bpool - -import ( - "bytes" -) - -// SizedBufferPool implements a pool of bytes.Buffers in the form of a bounded -// channel. Buffers are pre-allocated to the requested size. -type SizedBufferPool struct { - c chan *bytes.Buffer - a int -} - -// SizedBufferPool creates a new BufferPool bounded to the given size. -// size defines the number of buffers to be retained in the pool and alloc sets -// the initial capacity of new buffers to minimize calls to make(). -// -// The value of alloc should seek to provide a buffer that is representative of -// most data written to the the buffer (i.e. 95th percentile) without being -// overly large (which will increase static memory consumption). You may wish to -// track the capacity of your last N buffers (i.e. using an []int) prior to -// returning them to the pool as input into calculating a suitable alloc value. -func NewSizedBufferPool(size int, alloc int) (bp *SizedBufferPool) { - return &SizedBufferPool{ - c: make(chan *bytes.Buffer, size), - a: alloc, - } -} - -// Get gets a Buffer from the SizedBufferPool, or creates a new one if none are -// available in the pool. Buffers have a pre-allocated capacity. -func (bp *SizedBufferPool) Get() (b *bytes.Buffer) { - select { - case b = <-bp.c: - // reuse existing buffer - default: - // create new buffer - b = bytes.NewBuffer(make([]byte, 0, bp.a)) - } - return -} - -// Put returns the given Buffer to the SizedBufferPool. -func (bp *SizedBufferPool) Put(b *bytes.Buffer) { - b.Reset() - - // Release buffers over our maximum capacity and re-create a pre-sized - // buffer to replace it. - // Note that the cap(b.Bytes()) provides the capacity from the read off-set - // only, but as we've called b.Reset() the full capacity of the underlying - // byte slice is returned. - if cap(b.Bytes()) > bp.a { - b = bytes.NewBuffer(make([]byte, 0, bp.a)) - } - - select { - case bp.c <- b: - default: // Discard the buffer if the pool is full. - } -} diff --git a/vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go b/vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go deleted file mode 100644 index 6e574b3..0000000 --- a/vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go +++ /dev/null @@ -1,50 +0,0 @@ -package bpool - -import ( - "bytes" - "testing" -) - -// TestSizedBufferPool checks that over-sized buffers are released and that new -// buffers are created in their place. -func TestSizedBufferPool(t *testing.T) { - - var size int = 4 - var capacity int = 1024 - - bufPool := NewSizedBufferPool(size, capacity) - - b := bufPool.Get() - - // Check the cap before we use the buffer. - if cap(b.Bytes()) != capacity { - t.Fatalf("buffer capacity incorrect: got %v want %v", cap(b.Bytes()), - capacity) - } - - // Grow the buffer beyond our capacity and return it to the pool - b.Grow(capacity * 3) - bufPool.Put(b) - - // Add some additional buffers to fill up the pool. - for i := 0; i < size; i++ { - bufPool.Put(bytes.NewBuffer(make([]byte, 0, bufPool.a*2))) - } - - // Check that oversized buffers are being replaced. - if len(bufPool.c) < size { - t.Fatalf("buffer pool too small: got %v want %v", len(bufPool.c), size) - } - - // Close the channel so we can iterate over it. - close(bufPool.c) - - // Check that there are buffers of the correct capacity in the pool. - for buffer := range bufPool.c { - if cap(buffer.Bytes()) != bufPool.a { - t.Fatalf("returned buffers wrong capacity: got %v want %v", - cap(buffer.Bytes()), capacity) - } - } - -}