Ping / circuit latency, break out commands, add typing function for IM, add thinkingTime and charactersPerSecond parameters to typing functions

This commit is contained in:
Casper Warden
2017-12-13 19:55:08 +00:00
parent af71aa597e
commit 4e8feb181f
96 changed files with 2151 additions and 935 deletions

View File

@@ -133,7 +133,8 @@ class Circuit {
this.awaitingAck[packet.sequenceNumber] =
{
packet: packet,
timeout: setTimeout(this.resend.bind(this, packet.sequenceNumber), 1000)
timeout: setTimeout(this.resend.bind(this, packet.sequenceNumber), 1000),
sent: new Date().getTime()
};
}
let dataToSend = Buffer.allocUnsafe(packet.getSize());
@@ -162,6 +163,19 @@ class Circuit {
];
this.sendMessage(msg, 0);
}
getOldestUnacked() {
let result = 0;
let oldest = -1;
const keys = Object.keys(this.awaitingAck);
keys.forEach((seqID) => {
const nSeq = parseInt(seqID, 10);
if (oldest === -1 || this.awaitingAck[nSeq].sent < oldest) {
result = nSeq;
oldest = this.awaitingAck[nSeq].sent;
}
});
return result;
}
expireReceivedPacket(sequenceNumber) {
if (this.receivedPackets[sequenceNumber]) {
delete this.receivedPackets[sequenceNumber];