remove old parser.
This commit is contained in:
parent
baf5e50016
commit
0b1b6fdb33
@ -169,125 +169,6 @@ function createPacket(id, name, items) {
|
||||
return p.render();
|
||||
}
|
||||
|
||||
function createBody_(name, items) {
|
||||
var p = new BufferWriter();
|
||||
var i, item;
|
||||
|
||||
if (name)
|
||||
p.writeVarString(name, 'ascii');
|
||||
else
|
||||
p.writeUIntv(0);
|
||||
|
||||
p.writeUIntv(items.length);
|
||||
|
||||
for (i = 0; i < items.length; i++) {
|
||||
item = items[i];
|
||||
switch (typeof item) {
|
||||
case 'string':
|
||||
p.writeU8(1);
|
||||
p.writeVarString(item, 'utf8');
|
||||
break;
|
||||
case 'number':
|
||||
p.writeU8(2);
|
||||
p.write32(item);
|
||||
break;
|
||||
case 'boolean':
|
||||
p.writeU8(3);
|
||||
p.writeU8(item ? 1 : 0);
|
||||
break;
|
||||
case 'object':
|
||||
case 'undefined':
|
||||
if (item == null) {
|
||||
p.writeU8(0);
|
||||
} else {
|
||||
if (item instanceof bcoin.block) {
|
||||
p.writeU8(6);
|
||||
p.writeVarBytes(item.render());
|
||||
} else if (item instanceof bcoin.tx) {
|
||||
p.writeU8(7);
|
||||
p.writeVarBytes(item.toExtended(true));
|
||||
} else if (item instanceof bcoin.coin) {
|
||||
p.writeU8(8);
|
||||
p.writeVarBytes(item.toExtended());
|
||||
} else if (item instanceof bn) {
|
||||
p.writeU8(9);
|
||||
p.writeVarBytes(item.toBuffer());
|
||||
} else if (Buffer.isBuffer(item)) {
|
||||
p.writeU8(5);
|
||||
p.writeVarBytes(item);
|
||||
} else {
|
||||
p.writeU8(4);
|
||||
p.writeVarString(JSON.stringify(item), 'utf8');
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
assert(false, 'Bad type: ' + typeof item);
|
||||
}
|
||||
}
|
||||
|
||||
p.writeU8(0x0a);
|
||||
|
||||
return p.render();
|
||||
}
|
||||
|
||||
function parseBody_(data) {
|
||||
var p = new BufferReader(data, true);
|
||||
var name, count, i;
|
||||
var items = [];
|
||||
|
||||
p.start();
|
||||
|
||||
name = p.readVarString('ascii');
|
||||
count = p.readUIntv();
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
switch (p.readU8()) {
|
||||
case 0:
|
||||
items.push(null);
|
||||
break;
|
||||
case 1:
|
||||
items.push(p.readVarString('utf8'));
|
||||
break;
|
||||
case 2:
|
||||
items.push(p.read32());
|
||||
break;
|
||||
case 3:
|
||||
items.push(p.readU8() === 1);
|
||||
break;
|
||||
case 4:
|
||||
items.push(JSON.parse(p.readVarString('utf8')));
|
||||
break;
|
||||
case 5:
|
||||
items.push(p.readVarBytes());
|
||||
break;
|
||||
case 6:
|
||||
items.push(bcoin.block.fromRaw(p.readVarBytes()));
|
||||
break;
|
||||
case 7:
|
||||
items.push(bcoin.tx.fromExtended(p.readVarBytes(), true));
|
||||
break;
|
||||
case 8:
|
||||
items.push(bcoin.coin.fromExtended(p.readVarBytes()));
|
||||
break;
|
||||
case 9:
|
||||
items.push(new bn(p.readVarBytes()));
|
||||
break;
|
||||
default:
|
||||
assert(false, 'Bad type.');
|
||||
}
|
||||
}
|
||||
|
||||
assert(p.readU8() === 0x0a);
|
||||
|
||||
p.end();
|
||||
|
||||
return {
|
||||
name: name || null,
|
||||
items: items
|
||||
};
|
||||
}
|
||||
|
||||
function createBody(name, items) {
|
||||
var p = new BufferWriter();
|
||||
|
||||
@ -305,6 +186,7 @@ function createBody(name, items) {
|
||||
|
||||
function frameItem(item, p) {
|
||||
var i, keys;
|
||||
|
||||
switch (typeof item) {
|
||||
case 'string':
|
||||
p.writeU8(1);
|
||||
@ -399,8 +281,8 @@ function parseItem(p) {
|
||||
items.push(parseItem(p));
|
||||
return items;
|
||||
case 6:
|
||||
count = p.readUIntv();
|
||||
items = {};
|
||||
count = p.readUIntv();
|
||||
for (i = 0; i < count; i++)
|
||||
items[p.readVarString('utf8')] = parseItem(p);
|
||||
return items;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user