|
|
- wire = require("./wire")
-
- module.exports = {
- types : {
- 0x01 : "echo",
- 0x02 : "flush",
- 0x03 : "info",
- 0x04 : "set_option",
- 0x21 : "append_tx",
- 0x22 : "get_hash",
- 0x23 : "commit",
- 0x24 : "rollback",
- 0x25 : "add_listener",
- 0x26 : "rm_listener",
- },
-
- decoder : RequestDecoder,
-
- buffer: BytesBuffer
-
- }
-
- function RequestDecoder(buf){
- this.buf= buf
- }
-
- var decode_string = wire.decode_string
-
- // return nothing, one thing, or a list of things
- RequestDecoder.prototype.echo = function(){ return decode_string(this.buf) };
- RequestDecoder.prototype.flush = function(){};
- RequestDecoder.prototype.info = function(){};
- RequestDecoder.prototype.set_option = function(){ return [decode_string(this.buf), decode_string(this.buf)] };
- RequestDecoder.prototype.append_tx = function(){ return decode_string(this.buf)};
- RequestDecoder.prototype.get_hash = function(){ };
- RequestDecoder.prototype.commit = function(){ };
- RequestDecoder.prototype.rollback = function(){ };
- RequestDecoder.prototype.add_listener = function(){ }; // TODO
- RequestDecoder.prototype.rm_listener = function(){ }; // TODO
-
- // buffered reader with read(n) method
- function BytesBuffer(buf){
- this.buf = buf
- }
-
- BytesBuffer.prototype.read = function(n){
- b = this.buf.slice(0, n)
- this.buf = this.buf.slice(n)
- return b
- };
-
- BytesBuffer.prototype.write = function(buf){
- this.buf = Buffer.concat([this.buf, buf]);
- };
-
-
- BytesBuffer.prototype.size = function(){
- return this.buf.length
- }
-
- BytesBuffer.prototype.peek = function(){
- return this.buf[0]
- }
-
|