function db(operation) {
   var writer = ss.writable();
   process.nextTick(function() {
     writer.reader.emit("error", new Error("abba"));
   });
   return writer.reader;
 }
 function db(operation) {
   var stream = ss.writable();
   process.nextTick(function() {
     stream.reader.emit("error", new Error("err"));
   });
   return stream.reader;
 }
 return function(operation) {
   if (!!~accept.indexOf(operation.name)) return db.apply(this, arguments);
   var writable = stream.writable();
   process.nextTick(function() {
     writable.end();
   });
   return writable.reader;
 };
 return function(operation) {
   if (!~reject.indexOf(operation.name)) return db(operation);
   var writable = stream.writable();
   process.nextTick(function() {
     writable.end();
   });
   return writable.reader;
 };
 return function(operation) {
   var writer = stream.writable();
   process.nextTick(function() {
     callback(operation, function(err, result) {
       if (err) return writer.reader.emit("error", err);
       writer.end(result);
     });
   });
   return writer.reader;
 };
Esempio n. 6
0
  module.exports = function(op) {

    var writable = stream.writable();
    op._id       = _i++;

    function onMessage(name, payload) {
      if (payload._id == op._id) {
        if (name === "data") {
          writable.write(payload.data);
        } else if (name === "end") {
          child.removeListener("message", onMessage);
          writable.end();
        }
      }
    }

    child.on("message", onMessage);

    child.emit("operation", op);

    return writable.reader;
  }