mirror of
https://github.com/novnc/noVNC.git
synced 2026-05-26 07:08:06 +00:00
Move WebSocket queue index reset to receive
It's more robust to do this just before we need the space, rather than assume when the queue will be read and adjust things right after.
This commit is contained in:
@@ -418,14 +418,13 @@ describe('Websock', function () {
|
||||
expect(sock._eventHandlers.message).not.to.have.been.called;
|
||||
});
|
||||
|
||||
it('should compact the receive queue when a message handler empties it', function () {
|
||||
sock._eventHandlers.message = () => { sock._rQi = sock._rQlen; };
|
||||
it('should compact the receive queue when fully read', function () {
|
||||
sock._rQ = new Uint8Array([0, 1, 2, 3, 4, 5, 0, 0, 0, 0]);
|
||||
sock._rQlen = 6;
|
||||
sock._rQi = 6;
|
||||
const msg = { data: new Uint8Array([1, 2, 3]).buffer };
|
||||
sock._recvMessage(msg);
|
||||
expect(sock._rQlen).to.equal(0);
|
||||
expect(sock._rQlen).to.equal(3);
|
||||
expect(sock._rQi).to.equal(0);
|
||||
});
|
||||
|
||||
@@ -455,13 +454,13 @@ describe('Websock', function () {
|
||||
it('should automatically resize the receive queue if the incoming message is larger than 1/8th of the buffer and we reach the end of the buffer', function () {
|
||||
sock._rQ = new Uint8Array(20);
|
||||
sock._rQlen = 16;
|
||||
sock._rQi = 16;
|
||||
sock._rQi = 15;
|
||||
sock._rQbufferSize = 20;
|
||||
const msg = { data: new Uint8Array(6).buffer };
|
||||
sock._recvMessage(msg);
|
||||
expect(sock._rQlen).to.equal(6);
|
||||
expect(sock._rQlen).to.equal(7);
|
||||
expect(sock._rQi).to.equal(0);
|
||||
expect(sock._rQ.length).to.equal(48);
|
||||
expect(sock._rQ.length).to.equal(56);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user