lib/registry.js
function Registry(options) {
  if (!(this instanceof Registry)) {
    return new Registry(options);
  }

  options = options || {};

  debug('New Registry: %j', options);

  this.manager = options.manager || new UdpBroadcast();
  this.services = {};

  this._initProperties(options);
  this._initManager();

  assert(this.manager instanceof Manager, 'Invalid Manager type.');
}
function Registry(options) {
  if (!(this instanceof Registry)) {
    return new Registry(options);
  }

  options = options || {};

  debug('New Registry: %j', options);

  this.manager = options.manager || new UdpBroadcast();
  this.services = {};

  this._initProperties(options);
  this._initManager();

  assert(this.manager instanceof Manager, 'Invalid Manager type.');
}
function Registry ( options ) { if ( ! ( this instanceof Registry ) ) { return new Registry ( options ) ; } options = options || { } ; debug ( 'New Registry: %j' , options ) ; this . manager = options . manager || new UdpBroadcast ( ) ; this . services = { } ; this . _initProperties ( options ) ; this . _initManager ( ) ; assert ( this . manager instanceof Manager , 'Invalid Manager type.' ) ; }
Creates a new instance of Registry with the provided `options`.

The Registry is the cornerstone of Discovery. Each node in the cluster
is expected to have at least one Registry, with that Registry being
responsible for one or more local Services. Its Manager, in turn,
synchronizes the Registry's understanding of the cluster and its
remotely-available Services.

For more information, see the README.

@param {Object} options
Creates a new instance of Registry with the provided options .