server/adapters/NmeaTcpFeed-adapter.js
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);    

}
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);    

}
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 ) ; }
keep track of nmea MMSI for uniqueness Adapter is an object own by a given device controller that handle data connection
keep track of nmea MMSI for uniqueness Adapter is an object own by a given device controller that handle data connection