コード例 #1
0
ファイル: replayable_bufw.js プロジェクト: lfdoherty/fparse
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;
}
コード例 #2
0
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
}
コード例 #3
0
ファイル: fparse.js プロジェクト: lfdoherty/fparse
exports.makeSingleReader = function(buf){
	_.assertBuffer(buf)
	var r = rs.make()
	r.put(buf)
	return r.s
}
コード例 #4
0
ファイル: fparse.js プロジェクト: lfdoherty/fparse
	w.finish = function(){
		w.flushAndDie()	
		_.assertBuffer(buf)
		return buf
	}
コード例 #5
0
		ws.write = function(buf){
			_.assertBuffer(buf)
			if(p > 0) bufs.push(buf)
			else oldWrite(buf)
		}
コード例 #6
0
ファイル: viewstate.js プロジェクト: lfdoherty/minnow
				viewSequencer.makeSnapshot(viewId, previousSnapshotId, snapshotId, isHistorical, _.assureOnce(function(snap){
					//console.log('got snap')
					_.assertBuffer(snap)
					cb(snap)
				}));
コード例 #7
0
ファイル: viewstate.js プロジェクト: lfdoherty/minnow
				viewSequencer.makeSnapshot(viewId, prevSnId, snId, isHistorical, _.assureOnce(function(snap){
					//console.log('got snap')
					_.assertBuffer(snap)
					list[index] = snap;
					cdl();
				}));