W.prototype.putUuid = function(buf){ _.assertBuffer(buf) if(buf.length !== 16) throw new Error('invalid uuid buffer: ' + buf + ', length is ' + buf.length) this.prepareFor(16); //bin.writeInt(this.b, this.position, v); buf.copy(this.b, this.position, 0, 16); this.position += 16; }
function serializeSnapshot(startEditId, endEditId, objectEditBuffers, viewObjectEditBuffers){ _.assertLength(arguments, 4) _.assertArray(objectEditBuffers) _.assertArray(viewObjectEditBuffers) var codes = fp.codes var writersByCode = fp.writersByCode var w = fparse.makeSingleBufferWriter() w.putInt(startEditId) w.putInt(endEditId) var realObjBufs = [] for(var i=0;i<objectEditBuffers.length;++i){ var eb = objectEditBuffers[i] //if(eb.edits.length > 4){ realObjBufs.push(eb) //console.log('pushing: ' + eb.id + ' ' + eb.edits.length) /*}else{ console.log('discarding: ' + eb.id + ' ' + eb.edits.length)//TODO eliminate the need for this upstream }*/ } w.putInt(realObjBufs.length) //console.log(startEditId + ', ' + endEditId+' put objs count: ' + realObjBufs.length) for(var i=0;i<realObjBufs.length;++i){ var e = realObjBufs[i] writersByCode[editCodes.selectTopObject](w, {id: e.id}) if(!Buffer.isBuffer(e.edits)){ console.log('error: ' + JSON.stringify(e.edits)) } /*if(!Buffer.isBuffer(e.edits)){ serializeViewObject(w, codes, writersByCode, e.edits) }else{*/ _.assertBuffer(e.edits) w.putData(e.edits, 0, e.edits.length) //} } serializeViewObjects(w, codes, writersByCode, viewObjectEditBuffers) var b = w.finish() return b }
exports.makeSingleReader = function(buf){ _.assertBuffer(buf) var r = rs.make() r.put(buf) return r.s }
w.finish = function(){ w.flushAndDie() _.assertBuffer(buf) return buf }
ws.write = function(buf){ _.assertBuffer(buf) if(p > 0) bufs.push(buf) else oldWrite(buf) }
viewSequencer.makeSnapshot(viewId, previousSnapshotId, snapshotId, isHistorical, _.assureOnce(function(snap){ //console.log('got snap') _.assertBuffer(snap) cb(snap) }));
viewSequencer.makeSnapshot(viewId, prevSnId, snId, isHistorical, _.assureOnce(function(snap){ //console.log('got snap') _.assertBuffer(snap) list[index] = snap; cdl(); }));