Exemplo n.º 1
0
var _ = require('underscorem')

var indexFile = require('./../indexfile')

var parsicle = require('parsicle')

var basicFormat = parsicle.make(function(parser){

	parser('entry', 'object', function(p){
		p.key('key').int();
		p.key('value').int();
	})
})


var w;

var state = {}
var currentSegment = {}
var readers = {
	entry: function(e, segmentIndex){
		var cur = currentSegment[e.key];
		if(cur !== undefined){
			w.replacedMapping(cur)
			//history[e.key].push(segmentIndex)
		}else{
			//history[e.key] = [segmentIndex]
		}
		currentSegment[e.key] = segmentIndex;
		state[e.key] = e.value;
Exemplo n.º 2
0
"use strict";

var fs = require('fs')

var fsExt = require('fs-ext');

var EventEmitter = require('events').EventEmitter;

var log = require('quicklog').make('segmentedfile/main')

var _ = require('underscorem')
var parsicle = require('parsicle');

var segmentationParser = parsicle.make(function(parser){

	parser('discard', 'int', function(p){})
	parser('segment', 'int', function(p){})
})

exports.open = function(path, readCb, segmentCb, cb){
	if(arguments.length === 2){
		cb = readCb;
		readCb = undefined;
	}else{
		_.assertLength(arguments, 4);
	}
	
	_.assertString(path)
	
	var segments = [];
	var discarded = [];