// This file was auto-generated by the vanadium vdl tool.
var vdl = require('vanadium').vdl;






module.exports = {};



// Types:
var _type1 = new vdl.Type();
_type1.kind = vdl.Kind.LIST;
_type1.name = "";
_type1.elem = vdl.Types.BYTE;
_type1.freeze();




// Consts:



// Errors:



// Services:

  
    
function Viewer(){}
module.exports.Viewer = Viewer

    
      
Viewer.prototype.pipe = function(ctx) {
  throw new Error('Method Pipe not implemented');
};
     

    
Viewer.prototype._serviceDescription = {
  name: 'Viewer',
  pkgPath: 'p2b/vdl',
  doc: "// Viewer allows clients to stream data to it and to request a\n// particular viewer to format and display the data.",
  embeds: [],
  methods: [
    
      
    {
    name: 'Pipe',
    doc: "// Pipe creates a bidirectional pipe between client and viewer\n// service, returns total number of bytes received by the service\n// after streaming ends",
    inArgs: [],
    outArgs: [{
      name: '',
      doc: "",
      type: vdl.Types.ANY
    },
    ],
    inStream: {
      name: '',
      doc: '',
      type: _type1
    },
    outStream: null,
    tags: []
  },
     
  ]
};

   
 


