123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 'use strict';
- const parseServerType = require('../core/sdam/server_description').parseServerType;
- const RESPONSE_FIELDS = [
- 'minWireVersion',
- 'maxWireVersion',
- 'maxBsonObjectSize',
- 'maxMessageSizeBytes',
- 'maxWriteBatchSize',
- '__nodejs_mock_server__'
- ];
- class StreamDescription {
- constructor(address, options) {
- this.address = address;
- this.type = parseServerType(null);
- this.minWireVersion = undefined;
- this.maxWireVersion = undefined;
- this.maxBsonObjectSize = 16777216;
- this.maxMessageSizeBytes = 48000000;
- this.maxWriteBatchSize = 100000;
- this.compressors =
- options && options.compression && Array.isArray(options.compression.compressors)
- ? options.compression.compressors
- : [];
- }
- receiveResponse(response) {
- this.type = parseServerType(response);
- RESPONSE_FIELDS.forEach(field => {
- if (typeof response[field] !== 'undefined') {
- this[field] = response[field];
- }
- });
- if (response.compression) {
- this.compressor = this.compressors.filter(c => response.compression.indexOf(c) !== -1)[0];
- }
- }
- }
- module.exports = {
- StreamDescription
- };
|