Comments (8)
I implemented this in itchio@529f981 but my initial tests make me think it's unreliable (although there were a few other things in my pipeline, so a properly-isolated test would be better..)
from brotli-go.
I've merged your Flush method in #27 @fasterthanlime, but rearranged the encoder slightly to factor out the flush behaviour between Write, Flush and Close.
Unfortunately the tests fail - can you take a look to see if I've done something stupid? Decoding a buffer if you've used Flush seems to fail - is that what you've seen in your tests?
from brotli-go.
@kothar just looked, not seeing anything stupid in #27, and yes, that's the behavior I was experiencing.
Either there's something fishy upstream, or we're not using the API the way they thought users would?
from brotli-go.
Maybe @dsnet has some insight on this?
from brotli-go.
@fasterthanlime has forked this repo and updated it, perhaps it's up to him now.
https://github.com/itchio/go-brotli
from brotli-go.
I haven't told @kothar about my fork yet :) Let's do it now:
I wanted to update to the latest upstream, and
- some features were deleted (custom dictionary support - I hear it's coming back soon)
- I also changed the interface a little bit (removed
BrotliParams
, it's now a simple struct) - the Compress/DecompressBuffer tend to not take an input buffer in my version - decompressed size estimation code is gone too
- the Writer in particular has changed a lot, it's heavily inspired by the
cbrotli
package that upstreams ships. Their encoder is now C-only, so it has a clean interface and we don't needencode_go.cc
anymore - my fork isn't using gopkg.in - it's vendored in the projects using it anyway
I didn't want to be a bother so it's in a fork for now!
from brotli-go.
from brotli-go.
I have added a link to https://github.com/itchio/go-brotli to the project description, and as I'm unlikely to be working on this binding in the immediate future I'll archive this repo. I'll submit any future changes to your repo @fasterthanlime
from brotli-go.
Related Issues (15)
- assertion failed in WriteBits HOT 14
- Reader doesn't seem to be flushing properly HOT 1
- Go GC is not happy HOT 30
- Travis CI build using mixed of 'local clone' and 'whatever is on master' b/c of gopkg.in HOT 2
- Roundtrip stream test fails with random 2MB input HOT 2
- cgo argument has Go pointer to Go pointer (go 1.6) HOT 2
- EOF behavior
- It won't cross compile for Linux/amd64 on MacOs. HOT 5
- index out of range when availableIn=0 and r.needOutput is true HOT 2
- cannot use p.c (type C.struct_CBrotliParams) as type C.CBrotliParams in function argument HOT 2
- uptdate to last google/brotli? HOT 2
- Streaming interface HOT 31
- Custom dictionaries HOT 7
- Continuous integration HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brotli-go.