function ZWaveDeviceConnection(ipAddressFamily, ipAddress, pskIdentity, pskPassword) {
    // verify that crypto is available; if not, return an error
    if (!CryptoUtils.verifyCrypto()) {
        console.log('CRITICAL ERROR: crypto not available.');
        return;
    }

    // store our connection parameters
    this.ipAddressFamily = ipAddressFamily;
    this.ipAddress = ipAddress;
    this.pskIdentity = pskIdentity;
    this.pskPassword = pskPassword;
    // create a variable to hold our socket reference (once we send a message)
    this.dtlsSocket = null;
    // randomize the initial sequenceNumber
    // NOTE: this will throw an exception if the crypto library is not available.
    this.sequenceNumber = CryptoUtils.crypto.randomBytes(1)[0];
    // create a hash to hold a record of all outstanding messages which are waiting for an acknowledgment
    this.messagesWaitingForAck = {};
    // create an array to hold all outstanding commands which are waiting for responses
    this.pendingCommandCallbacks = [];
}
function ZWaveDeviceConnection(ipAddressFamily, ipAddress, pskIdentity, pskPassword) {
    
    if (!CryptoUtils.verifyCrypto()) {
        console.log('CRITICAL ERROR: crypto not available.');
        return;
    }

    
    this.ipAddressFamily = ipAddressFamily;
    this.ipAddress = ipAddress;
    this.pskIdentity = pskIdentity;
    this.pskPassword = pskPassword;
    
    this.dtlsSocket = null;
    
    
    this.sequenceNumber = CryptoUtils.crypto.randomBytes(1)[0];
    
    this.messagesWaitingForAck = {};
    
    this.pendingCommandCallbacks = [];
}
function ZWaveDeviceConnection ( ipAddressFamily , ipAddress , pskIdentity , pskPassword ) { // verify that crypto is available; if not, return an error if ( ! CryptoUtils . verifyCrypto ( ) ) { console . log ( 'CRITICAL ERROR: crypto not available.' ) ; return ; } // store our connection parameters this . ipAddressFamily = ipAddressFamily ; this . ipAddress = ipAddress ; this . pskIdentity = pskIdentity ; this . pskPassword = pskPassword ; // create a variable to hold our socket reference (once we send a message) this . dtlsSocket = null ; // randomize the initial sequenceNumber // NOTE: this will throw an exception if the crypto library is not available. this . sequenceNumber = CryptoUtils . crypto . randomBytes ( 1 ) [ 0 ] ; // create a hash to hold a record of all outstanding messages which are waiting for an acknowledgment this . messagesWaitingForAck = { } ; // create an array to hold all outstanding commands which are waiting for responses this . pendingCommandCallbacks = [ ] ; }
* OBJECT INITIALIZATION FUNCTIONS **
* OBJECT INITIALIZATION FUNCTIONS **