Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/mongodb/src/sdam/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
import { clearTimeout } from 'timers'; import type { Binary, Long, Timestamp } from '../bson'; import type { ClientSession } from '../sessions'; import type { Topology } from './topology'; // shared state names export const STATE_CLOSING = 'closing'; export const STATE_CLOSED = 'closed'; export const STATE_CONNECTING = 'connecting'; export const STATE_CONNECTED = 'connected'; /** * An enumeration of topology types we know about * @public */ export const TopologyType = Object.freeze({ Single: 'Single', ReplicaSetNoPrimary: 'ReplicaSetNoPrimary', ReplicaSetWithPrimary: 'ReplicaSetWithPrimary', Sharded: 'Sharded', Unknown: 'Unknown', LoadBalanced: 'LoadBalanced' } as const); /** @public */ export type TopologyType = (typeof TopologyType)[keyof typeof TopologyType]; /** * An enumeration of server types we know about * @public */ export const ServerType = Object.freeze({ Standalone: 'Standalone', Mongos: 'Mongos', PossiblePrimary: 'PossiblePrimary', RSPrimary: 'RSPrimary', RSSecondary: 'RSSecondary', RSArbiter: 'RSArbiter', RSOther: 'RSOther', RSGhost: 'RSGhost', Unknown: 'Unknown', LoadBalancer: 'LoadBalancer' } as const); /** @public */ export type ServerType = (typeof ServerType)[keyof typeof ServerType]; /** @internal */ export type TimerQueue = Set<NodeJS.Timeout>; /** @internal */ export function drainTimerQueue(queue: TimerQueue): void { queue.forEach(clearTimeout); queue.clear(); } /** @public */ export interface ClusterTime { clusterTime: Timestamp; signature: { hash: Binary; keyId: Long; }; } /** Shared function to determine clusterTime for a given topology or session */ export function _advanceClusterTime( entity: Topology | ClientSession, $clusterTime: ClusterTime ): void { if (entity.clusterTime == null) { entity.clusterTime = $clusterTime; } else { if ($clusterTime.clusterTime.greaterThan(entity.clusterTime.clusterTime)) { entity.clusterTime = $clusterTime; } } }