
It was purely just for demonstration. I did update the code with a few more
comments, but the enumerator package may not be the easiest thing to grok.
You might try putting up your current code and someone might be able to
recommend a better or easier approach.
If the git pack headers have lengths in them, you could do something as
simple as calling hSeek to move a file handle to the next header and start
your decoding over again.
On Wed, Jul 20, 2011 at 10:24 PM, rahul
Hi Nathan, Thank you very for the solution, since I am somewhat new to haskell, I am taking some time to digest it :). But it seems that you are using header -> streamLength to find the length of a single entry. However this info is not present in the protocol I am parsing (git server pack files)
Have I understood your code correctly?
| > Unfortunately the binary protocol itself is external, so can't use a | > different | > type of compression | > | | Perhaps something like this would work: https://gist.github.com/1096039 | | I didn't test to make sure it works, but you could probably hack together a | working solution using Data.Enumerator.Binary.isolate and the zlib-enum | package. | | -n ---~*~---