code: function DevAdapter (controller) {
      this.id        = controller.svc;
      this.uid       = "//" + controller.svcopts.adapter + "/" + controller.svc + "@" +  controller.svcopts.hostname + ":" +controller.svcopts.remport;
      this.info      = 'nmeatcp';
      this.control   = 'tcpfeed';               // this adapter connect onto a remote server  
      this.debug     =  controller.svcopts.debug;         // inherit debug from controller
      this.controller=  controller;               // keep a link to device controller and TCP socket
      this.mmsi      =  controller.svcopts.mmsi;  // use fake MMSI provided by user application in service options
      
      // Check mmsi is unique
      if (registermmsi [this.mmsi] !== undefined) {
          this.Debug (0,'Fatal adapter:%s this.mmsi:%s SHOULD be unique', this.info, this.mmsi);
          console.log ("Gpsd [duplicated NMEA MMSI] application aborted [please fix your configuration]");
          process.exit (-1);
      } 
      registermmsi [this.mmsi] = true; 
      this.Debug (1,"uid=%s mmsi=%s", this.uid,this.mmsi);    
  
  }
docs: keep track of nmea MMSI for uniqueness Adapter is an object own by a given device controller that handle data connection