MCPcopy
hub / github.com/mongodb/node-mongodb-native / drainWaitQueue

Function drainWaitQueue

src/sdam/topology.ts:919–946  ·  view source on GitHub ↗
(queue: List<ServerSelectionRequest>, drainError: MongoDriverError)

Source from the content-addressed store, hash-verified

917}
918
919function drainWaitQueue(queue: List<ServerSelectionRequest>, drainError: MongoDriverError) {
920 while (queue.length) {
921 const waitQueueMember = queue.shift();
922 if (!waitQueueMember) {
923 continue;
924 }
925
926 if (!waitQueueMember.cancelled) {
927 if (
928 waitQueueMember.mongoLogger?.willLog(
929 MongoLoggableComponent.SERVER_SELECTION,
930 SeverityLevel.DEBUG
931 )
932 ) {
933 waitQueueMember.mongoLogger?.debug(
934 MongoLoggableComponent.SERVER_SELECTION,
935 new ServerSelectionFailedEvent(
936 waitQueueMember.serverSelector,
937 waitQueueMember.topologyDescription,
938 drainError,
939 waitQueueMember.operationName
940 )
941 );
942 }
943 waitQueueMember.reject(drainError);
944 }
945 }
946}
947
948function processWaitQueue(topology: Topology) {
949 if (topology.s.state === STATE_CLOSED) {

Callers 2

closeMethod · 0.85
processWaitQueueFunction · 0.85

Calls 3

willLogMethod · 0.80
rejectMethod · 0.80
shiftMethod · 0.45

Tested by

no test coverage detected