Skip to content

Commit a0306ce

Browse files
committed
Revert "chore: move logic out of monitoring check"
This reverts commit c670bda.
1 parent 5887b1f commit a0306ce

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

src/cmap/connection.ts

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -374,24 +374,23 @@ export class Connection extends TypedEventEmitter<ConnectionEvents> {
374374
this.emit('message', message);
375375
let operationDescription = this[kQueue].get(message.responseTo);
376376

377-
// Protect against multiplexing.
378-
if (this[kQueue].size > 1) {
379-
this.onError(new MongoRuntimeError(INVALID_QUEUE_SIZE));
380-
return;
381-
}
382-
383377
if (!operationDescription && this.isMonitoringConnection) {
384378
// This is how we recover when the initial hello's requestId is not
385379
// the responseTo when hello responses have been skipped:
386380

387-
// Get the first orphaned operation description.
388-
const entry = this[kQueue].entries().next();
389-
if (entry) {
390-
const [requestId, orphaned]: [number, OperationDescription] = entry.value;
391-
// If the orphaned operation description exists then set it.
392-
operationDescription = orphaned;
393-
// Remove the entry with the bad request id from the queue.
394-
this[kQueue].delete(requestId);
381+
// First check if the map is of invalid size
382+
if (this[kQueue].size > 1) {
383+
this.onError(new MongoRuntimeError(INVALID_QUEUE_SIZE));
384+
} else {
385+
// Get the first orphaned operation description.
386+
const entry = this[kQueue].entries().next();
387+
if (entry) {
388+
const [requestId, orphaned]: [number, OperationDescription] = entry.value;
389+
// If the orphaned operation description exists then set it.
390+
operationDescription = orphaned;
391+
// Remove the entry with the bad request id from the queue.
392+
this[kQueue].delete(requestId);
393+
}
395394
}
396395
}
397396

0 commit comments

Comments
 (0)