ether-stream
Ethernet frame serialization object stream.

Examples
Reading
var EtherStream = require('ether-stream');
var PcapStream = require('pcap-stream');
var pstream = new PcapStream(PCAP_FILE);
var estream = new EtherStream();
pstream.pipe(estream).on('readable', function() {
var msg = estream.read();
msg.ether.src === '12:34:56:65:43:21';
msg.ether.dst === '98:76:54:32:10:01';
msg.ether.type === 'ip';
var iph = new IpHeader(msg.data);
});
estream.read(0);
Writing
var defaultFrame = new EtherFrame({src: '01:23:45:54:32:10'});
var estream = new EtherStream({ether: defaultFrame});
var in1 = { data: new Buffer(8*1024) };
estream.write(in1);
var out1 = estream.read();
deepEqual(defaultFrame, out1.ether);
deepEqual(in1.data, out1.data);
out1.offset === defaultFrame.length;
var in2 = {
ether: new EtherFrame({src: '11:22:33:44:55:66'}),
data: new Buffer(8*1024)
};
estream.write(in2);
var out2 = estream.read();
deepEqual(in2.ether, new EtherFrame(out2.ether));
var in3 = { data: new Buffer(1) };
estream.write(in3);
var out3 = estream.read();
out3.data.length === defaultFrame.length;