mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-29 14:13:45 -04:00
Rewrite of the internal serializer using transform streams
This commit is contained in:
parent
17dea74357
commit
ced091b2b2
@ -1,21 +1,8 @@
|
|||||||
var ITERATIONS = 100000;
|
var ITERATIONS = 100000;
|
||||||
|
|
||||||
var Client = require('../dist/client'),
|
var protocol = require('../dist/protocol'),
|
||||||
EventEmitter = require('events').EventEmitter,
|
|
||||||
util = require('util'),
|
util = require('util'),
|
||||||
states = require('../dist/protocol').states;
|
states = protocol.states;
|
||||||
|
|
||||||
var FakeSocket = function() {
|
|
||||||
EventEmitter.call(this);
|
|
||||||
};
|
|
||||||
util.inherits(FakeSocket, EventEmitter);
|
|
||||||
FakeSocket.prototype.write = function() {
|
|
||||||
};
|
|
||||||
|
|
||||||
var client = new Client();
|
|
||||||
var socket = new FakeSocket();
|
|
||||||
client.setSocket(socket);
|
|
||||||
client.state = states.PLAY;
|
|
||||||
|
|
||||||
var testDataWrite = [
|
var testDataWrite = [
|
||||||
{id: 0x00, params: {keepAliveId: 957759560}},
|
{id: 0x00, params: {keepAliveId: 957759560}},
|
||||||
@ -24,37 +11,21 @@ var testDataWrite = [
|
|||||||
// TODO: add more packets for better quality data
|
// TODO: add more packets for better quality data
|
||||||
];
|
];
|
||||||
|
|
||||||
|
var inputData = [];
|
||||||
|
|
||||||
var start, i, j;
|
var start, i, j;
|
||||||
console.log('Beginning write test');
|
console.log('Beginning write test');
|
||||||
start = Date.now();
|
start = Date.now();
|
||||||
for(i = 0; i < ITERATIONS; i++) {
|
for(i = 0; i < ITERATIONS; i++) {
|
||||||
for(j = 0; j < testDataWrite.length; j++) {
|
for(j = 0; j < testDataWrite.length; j++) {
|
||||||
client.write(testDataWrite[j].id, testDataWrite[j].params);
|
inputData.push(protocol.createPacketBuffer(testDataWrite[j].id, states.PLAY, testDataWrite[j].params, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log('Finished write test in ' + (Date.now() - start) / 1000 + ' seconds');
|
console.log('Finished write test in ' + (Date.now() - start) / 1000 + ' seconds');
|
||||||
|
|
||||||
var testDataRead = [
|
|
||||||
{id: 0x00, params: {keepAliveId: 957759560}},
|
|
||||||
{id: 0x02, params: {message: '<Bob> Hello World!', position: 0}},
|
|
||||||
{id: 0x08, params: {x: 6.5, y: 65.62, z: 7.5, yaw: 0, pitch: 0, flags: 0}},
|
|
||||||
];
|
|
||||||
|
|
||||||
client.isServer = true;
|
|
||||||
|
|
||||||
var inputData = new Buffer(0);
|
|
||||||
socket.write = function(data) {
|
|
||||||
inputData = Buffer.concat([inputData, data]);
|
|
||||||
};
|
|
||||||
for(i = 0; i < testDataRead.length; i++) {
|
|
||||||
client.write(testDataRead[i].id, testDataRead[i].params);
|
|
||||||
}
|
|
||||||
|
|
||||||
client.isServer = false;
|
|
||||||
|
|
||||||
console.log('Beginning read test');
|
console.log('Beginning read test');
|
||||||
start = Date.now();
|
start = Date.now();
|
||||||
for(i = 0; i < ITERATIONS; i++) {
|
for (j = 0; j < inputData.length; j++) {
|
||||||
socket.emit('data', inputData);
|
protocol.parsePacketData(inputData[j], states.PLAY, true);
|
||||||
}
|
}
|
||||||
console.log('Finished read test in ' + (Date.now() - start) / 1000 + ' seconds');
|
console.log('Finished read test in ' + (Date.now() - start) / 1000 + ' seconds');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user