Skip to content

Instantly share code, notes, and snippets.

@brianc
Created October 19, 2012 15:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brianc/3918741 to your computer and use it in GitHub Desktop.
Save brianc/3918741 to your computer and use it in GitHub Desktop.
#!/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