Created
October 19, 2012 15:10
-
-
Save brianc/3918741 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env node | |
"use strict"; | |
var fs = require('fs'); | |
var net = require('net'); | |
var uuid = require('node-uuid'); | |
var async = require('async'); | |
var cobol = require('../lib/cobol'); | |
var fifo = require('../lib/fifo'); | |
var tmpuuid = '/tmp/' + uuid.v4(), cust = 'upgrade', user = 'WEB99'; | |
var fifoin = tmpuuid.concat('_cassd_in'); | |
var fifoout = tmpuuid.concat('_cassd_out'); | |
var fifoin_created = 0, fifoout_created = 0; | |
var fifos_ready = async.parallel([ | |
function (cb) {var process_fifoin = fifo.create(fifoin) }, | |
function (cb) {var process_fifoout = fifo.create(fifoout); } | |
], | |
function (err, results) { | |
if (err) { | |
callback(err); | |
} | |
process_fifoin.on('exit', function (code) { | |
if (code !== 0) { | |
console.log('create fifoin exited with code ' + code); | |
return; | |
} else { | |
fifoin_created = 1; | |
console.log('fifoin created: ' + fifoin); | |
} | |
process_fifoout.on('exit', function (code) { | |
if (code !== 0) { | |
console.log('create fifoout exited with code ' + code); | |
return; | |
} else { | |
fifoout_created = 1; | |
console.log('fifoout created: ' + fifoout); | |
} | |
}); | |
var server = net.createServer(function (c) { //'connection' listener | |
console.log('server connected'); | |
c.on('end', function () { | |
console.log('server disconnected'); | |
}); | |
c.setEncoding('utf8'); | |
var input = [], getoutput = require('../lib/readFifo'); | |
c.on('data', function (data) { | |
input.push(data.replace(/(\n|\r|\r\n)$/, '')); | |
if (input[input.length - 1] === 'END') { | |
var sendinput = require('../lib/writeFifo'); | |
sendinput.doit(fifoout, input); | |
input = []; | |
} | |
}); | |
getoutput.doit(fifoin, function callback(err, data) { | |
c.end(data); | |
}); | |
}); | |
server.listen(8124, function (data) { //'listening' listener | |
console.log('server bound'); | |
}); | |
}); | |
if ((fifoin_created) && (fifoout_created)){ | |
callback(1); | |
} else { | |
callback(0); | |
} | |
} | |
); | |
cobol.run(cust, user, fifoin, fifoout, function (err, callback) { | |
console.log('runcbl pid: ' + callback); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment