示例#1
0
module.exports = function (device, nextState){
    fsmlog.info("Handler: replyToWriteItems starting for device %s", device.mac);

    var wpiMsg = wpiMsgTemplate(createMsg(device));

    var timeNow = new Date();
    if (device.wpiTimes.length > 0) {
        if (device.wpiTimes[device.wpiTimes.length-1].status === "finished") {
            device.wpiTimes.push({first: timeNow, start: timeNow, end: 0, status: "sent", type: "reply-to", overload: 0});
            device.count.sent++;
        } else {
            device.wpiTimes[device.wpiTimes.length-1].start = new Date();
        }
    } else {
        device.wpiTimes.push({start: new Date(), end: 0, status: "sent", type: "reply-to", overload: 0});
        device.count.sent++;
    }

    fsmlog.info("send ReplyTo: Done!");
    wpilog.info("%s : DLS <-- DEV: replyTo", device.mac);
    wpilog.info(wpiMsg);

    if (isRealSimulation) {
        sendToDLS(wpiMsg,device,function(res){
            fsmlog.info("send Reply-to: Done");
            device.state = nextState;
            fsmlog.info("New state for device %s is %s", device.mac, device.state);
            responseHandler(res,device);
        });
    } else {
        fsmlog.info("send Reply-to: Done");
        device.state = nextState;
        fsmlog.info("New state for device %s is %s", device.mac, device.state);
        var random = getRandomInt(1,3);
        fsmlog.debug("Random Number is:", random);
        if (random > 1) {
            setTimeout(function(){
                device.emit("CleanUp", "CleanUp", device);
            }, 2000);
        } else {
            setTimeout(function(){
                device.emit("Overload", "Overload", device);
                fsmlog.debug("Overlooooaaaaddddd");
            },2000)

        }
    }
}
示例#2
0
文件: test.js 项目: balaf/dmos
'use strict';

var createInvChanges =   require( __dirname + '/wpiObject').invChages;
var createStartUp =   require( __dirname + '/wpiObject').startUp;
var createReplyToWrite =   require( __dirname + '/wpiObject').replyToWrite;
var wpiMsgTemplate = require( __dirname + '/wpiMessageTemplate');

var Device = require(__dirname + '/../deviceObj').deviceObject;

var parser = require( __dirname + '/wpiParser');

var device = new Device()

var wpiMsg = createReplyToWrite(device);
var wpiMsg = createStartUp(device);
var wpiMsg = createInvChanges(device);


var wpiMsg1 =  '<?xml version="1.0" encoding="UTF-8"?> '+
'    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> '+
'    <SignedInfo>                                             '+
'        <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod>'+
'        <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>                    '+
'        <Reference URI="#DLSMessage">                                                                                 '+
'            <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>                          '+
'            <DigestValue>S2l0gKal1UrGuc/G8UZTg18dPFc=</DigestValue>                                                    '+
'        </Reference>                                                                                                    '+
'    </SignedInfo>                                                                                                        '+
'    <SignatureValue>                                                                                                   '+
'    JiGs9fGWU3+o2B6oUprrG9sU1aHOxOEpnyhrSEVgbX8jFu2Wbd+UcP9OgsDhxG2NPMqLqLueQmGH xs4jMTLnVdVkU6wg964cLyBXk6sa3HmZrggvfHMfXEH+7H+HNQD+qOS4VYWztYUjEHzVAD0uPxrffXttppxW92P0EYW7O/Y='+
'    </SignatureValue>'+