HTMLify
stream_description.js
Views: 6 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | '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 }; |