read git packet lines (for smart protocol)


Read git smart protocol packet lines.

var recv = require('git-write-pkt-line')()
recv.on('data', function(d) {
send.write('0032want 0000000000000000000000000000000000000000\n')

this module presents a through stream; when written to it removes the length header; but it leaves the newline ending. if an empty string or buffer is written, it will emit a git "flush packet", which is just a size-0 packet.

after each line received, it checks to see if the next line starts with PACK; and if so will enter recv-pack mode.

{ channel: Number(0) // the sideband data the channel was sent on 
, type: 'packfile' | 'pkt-line' | 'pkt-flush'
, size: Number
, data: null | Buffer()
, caps: ['list', 'of', 'capabilities'] }