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

Function updateRsNoPrimaryFromMember

src/sdam/topology_description.ts:515–538  ·  view source on GitHub ↗
(
  serverDescriptions: Map<string, ServerDescription>,
  serverDescription: ServerDescription,
  setName: string | null = null
)

Source from the content-addressed store, hash-verified

513}
514
515function updateRsNoPrimaryFromMember(
516 serverDescriptions: Map<string, ServerDescription>,
517 serverDescription: ServerDescription,
518 setName: string | null = null
519): [TopologyType, string | null] {
520 const topologyType = TopologyType.ReplicaSetNoPrimary;
521 setName = setName ?? serverDescription.setName;
522 if (setName !== serverDescription.setName) {
523 serverDescriptions.delete(serverDescription.address);
524 return [topologyType, setName];
525 }
526
527 serverDescription.allHosts.forEach((address: string) => {
528 if (!serverDescriptions.has(address)) {
529 serverDescriptions.set(address, new ServerDescription(address));
530 }
531 });
532
533 if (serverDescription.me && serverDescription.address !== serverDescription.me) {
534 serverDescriptions.delete(serverDescription.address);
535 }
536
537 return [topologyType, setName];
538}
539
540function checkHasPrimary(serverDescriptions: Map<string, ServerDescription>): TopologyType {
541 for (const serverDescription of serverDescriptions.values()) {

Callers 1

updateMethod · 0.85

Calls 3

setMethod · 0.80
deleteMethod · 0.45
hasMethod · 0.45

Tested by

no test coverage detected