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.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				'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
 | 
						|
};
 |