You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.8 KiB
						
					
					
				"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.StreamDescription = void 0;
 | 
						|
const common_1 = require("../sdam/common");
 | 
						|
const server_description_1 = require("../sdam/server_description");
 | 
						|
const RESPONSE_FIELDS = [
 | 
						|
    'minWireVersion',
 | 
						|
    'maxWireVersion',
 | 
						|
    'maxBsonObjectSize',
 | 
						|
    'maxMessageSizeBytes',
 | 
						|
    'maxWriteBatchSize',
 | 
						|
    'logicalSessionTimeoutMinutes'
 | 
						|
];
 | 
						|
/** @public */
 | 
						|
class StreamDescription {
 | 
						|
    constructor(address, options) {
 | 
						|
        this.address = address;
 | 
						|
        this.type = common_1.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) {
 | 
						|
        if (response == null) {
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        this.type = (0, server_description_1.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];
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.StreamDescription = StreamDescription;
 | 
						|
//# sourceMappingURL=stream_description.js.map
 |