Skip to content

Commit e431936

Browse files
committed
fixed the problems
change new Buffer() to Buffer.alloc
1 parent 0c248be commit e431936

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+18
-2683
lines changed

lib/LinkedList.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ LinkedList.prototype._insert = function (parentNode, object) {
102102

103103
if (order <= -1) {
104104
var node = new Node(object);
105+
if (this._currentNode.value > node.value) {
106+
this._currentNode = node
107+
}
105108
node._childNode = parentNode._childNode;
106109
parentNode._childNode = node;
107110
return InsertionResult.INSERTED;

lib/Packet.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ function Packet(sequenceNumber, payload, synchronize, reset) {
2020
this._reset = !!(bools & 0x10);
2121

2222
this._sequenceNumber = segment.readUInt8(offset); offset++;
23-
this._payload = new Buffer(segment.length - offset);
23+
this._payload = Buffer.alloc(segment.length - offset);
2424
segment.copy(this._payload, 0, offset);
2525
} else {
2626
this._acknowledgement = false;
@@ -33,13 +33,13 @@ function Packet(sequenceNumber, payload, synchronize, reset) {
3333
};
3434

3535
Packet.createAcknowledgementPacket = function (sequenceNumber) {
36-
var packet = new Packet(sequenceNumber, new Buffer(0), false);
36+
var packet = new Packet(sequenceNumber, Buffer.alloc(0), false);
3737
packet._acknowledgement = true;
3838
return packet;
3939
};
4040

4141
Packet.createFinishPacket = function () {
42-
var packet = new Packet(0, new Buffer(0), false, false);
42+
var packet = new Packet(0, Buffer.alloc(0), false, false);
4343
packet._finish = true;
4444
return packet;
4545
};
@@ -75,7 +75,7 @@ Packet.prototype.getIsReset = function () {
7575
*/
7676
Packet.prototype.toBuffer = function () {
7777
var offset = 0;
78-
var retval = new Buffer(2 + this._payload.length);
78+
var retval = Buffer.alloc(2 + this._payload.length);
7979

8080
var bools = 0 + (
8181
(this._acknowledgement && 0x80) |
@@ -116,4 +116,4 @@ Packet.prototype.equals = function (packet) {
116116
this.getSequenceNumber() === packet.getSequenceNumber() &&
117117
bufferEqual(this.getPayload(), packet.getPayload())
118118
)
119-
};
119+
};

lib/Receiver.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,15 @@ Receiver.prototype.receive = function (packet) {
2727
}
2828

2929
// Ignores packets that have a sequence number less than the next sequence
30-
// number
31-
if (!packet.getIsSynchronize() && packet.getSequenceNumber() < this._syncSequenceNumber) {
30+
// number. sending the ack again
31+
if (!packet.getIsSynchronize() && packet.getSequenceNumber() < this._nextSequenceNumber) {
32+
this._packetSender.send(Packet.createAcknowledgementPacket(packet.getSequenceNumber()));
3233
return;
3334
}
3435

3536
if (packet.getIsSynchronize() && !this._synced) {
3637
// This is the beginning of the stream.
3738

38-
if (packet.getSequenceNumber() === this._syncSequenceNumber) {
39-
this._packetSender.send(Packet.createAcknowledgementPacket(packet.getSequenceNumber()));
40-
return;
41-
}
42-
4339
// Send the packet upstream, send acknowledgement packet to end host, and
4440
// increment the next expected packet.
4541
this._packets.clear();
@@ -59,6 +55,11 @@ Receiver.prototype.receive = function (packet) {
5955
// We're done.
6056
return;
6157

58+
} else if (packet.getIsSynchronize() && this._synced && this._syncSequenceNumber === packet.getSequenceNumber()) {
59+
// this will happen if the ack for sync message get lost so we will send it again
60+
this._packetSender.send(Packet.createAcknowledgementPacket(packet.getSequenceNumber()));
61+
// and we are done!
62+
return;
6263
} else if (packet.getIsReset()) {
6364
this.emit('_reset');
6465
this._synced = false;
@@ -90,7 +91,6 @@ Receiver.prototype.receive = function (packet) {
9091
// after the current packet. If there are, then check to see if the next
9192
// packet is the expected packet number. If it is, then start the
9293
// acknowledgement process anew.
93-
9494
var result = this._packets.insert(packet);
9595
if (result === LinkedList.InsertionResult.INSERTED) {
9696
this._pushIfExpectedSequence(packet);

lib/Sender.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ Window.prototype.send = function () {
6969
}
7070
}
7171

72+
7273
pkts.forEach(function (packet) {
7374
packet.on('acknowledge', onAcknowledge);
7475
packet.send();

lib/Server.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ function Server(socket) {
1515
this._connections = {};
1616

1717
var self = this;
18-
1918
socket.on('message', function (message, rinfo) {
2019
var addressKey = rinfo.address + rinfo.port;
2120
var connection;
@@ -29,7 +28,6 @@ function Server(socket) {
2928
self.emit('connection', connection);
3029
} else {
3130
// Just get the existing connection.
32-
3331
connection = self._connections[addressKey];
3432
}
3533

@@ -38,7 +36,6 @@ function Server(socket) {
3836

3937
if (packet.getIsFinish()) {
4038
// The client requested that the connection be closed.
41-
4239
delete self._connections[addressKey];
4340
} else {
4441
// Capture the packet, and place it into the window of packets.

lib/bufferEqual.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2-
var buffertools = require('buffertools')
31
module.exports = function bufferEqual(a, b) {
4-
return buffertools.compare(a, b) === 0
2+
return Buffer.compare(a, b) === 0
53
}

test/example/fileClient.js

Lines changed: 0 additions & 17 deletions
This file was deleted.

test/example/fileServer.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)