Remove globals

This commit is contained in:
Esteban Ordano 2014-12-16 17:06:01 -03:00 committed by Braydon Fuller
parent 6325feda49
commit 9aafef0987
2 changed files with 38 additions and 1 deletions

8
lib/transport/index.js Normal file
View File

@ -0,0 +1,8 @@
/**
* @namespace Transport
*/
module.exports = {
Peer: require('./peer'),
Messages: require('./messages'),
Pool: require('./pool')
};

View File

@ -1,4 +1,7 @@
'use strict'; 'use strict';
/**
* @namespace Transport.Message
*/
/* jshint curly: false */ /* jshint curly: false */
var Buffers = require('buffers'); var Buffers = require('buffers');
@ -19,6 +22,7 @@ var PROTOCOL_VERSION = 70000;
/** /**
* Static helper for consuming a data buffer until the next message. * Static helper for consuming a data buffer until the next message.
* *
* @name Transport.Message#parseMessage
* @param{Network} network - the network object * @param{Network} network - the network object
* @param{Buffer} dataBuffer - the buffer to read from * @param{Buffer} dataBuffer - the buffer to read from
* @returns{Message|undefined} A message or undefined if there is nothing to read. * @returns{Message|undefined} A message or undefined if there is nothing to read.
@ -55,7 +59,8 @@ var parseMessage = function(network, dataBuffer) {
module.exports.parseMessage = parseMessage; module.exports.parseMessage = parseMessage;
/** /**
* Internal function that discards data until founds the next message. * @desc Internal function that discards data until founds the next message.
* @name Transport.Message#discardUntilNextMessage
*/ */
function discardUntilNextMessage(network, dataBuffer) { function discardUntilNextMessage(network, dataBuffer) {
var magicNumber = network.networkMagic; var magicNumber = network.networkMagic;
@ -82,11 +87,20 @@ function discardUntilNextMessage(network, dataBuffer) {
/** /**
* Abstract Message that knows how to parse and serialize itself. * Abstract Message that knows how to parse and serialize itself.
* Concret subclases should implement {fromBuffer} and {getPayload} methods. * Concret subclases should implement {fromBuffer} and {getPayload} methods.
* @name Transport.Message
*/ */
function Message() {} function Message() {}
/**
* @value
* @name Transport.Message.COMMANDS
*/
Message.COMMANDS = {}; Message.COMMANDS = {};
/**
* Look up a message type by command name and instantiate the correct Message
* @name Transport.Message#buildMessage
*/
Message.buildMessage = function(command, payload) { Message.buildMessage = function(command, payload) {
try { try {
var CommandClass = Message.COMMANDS[command]; var CommandClass = Message.COMMANDS[command];
@ -146,6 +160,7 @@ Message.prototype.serialize = function(network) {
/** /**
* Version Message * Version Message
* *
* @name Transport.Message.Version
* @param{string} subversion - version of the client * @param{string} subversion - version of the client
* @param{Buffer} nonce - a random 8 bytes buffer * @param{Buffer} nonce - a random 8 bytes buffer
*/ */
@ -191,6 +206,7 @@ module.exports.Version = Message.COMMANDS.version = Version;
/** /**
* Inv Message * Inv Message
* *
* @name Transport.Message.Inventory
* @param{Array} inventory - reported elements * @param{Array} inventory - reported elements
*/ */
function Inventory(inventory) { function Inventory(inventory) {
@ -229,6 +245,7 @@ module.exports.Inventory = Message.COMMANDS.inv = Inventory;
/** /**
* Getdata Message * Getdata Message
* *
* @name Transport.Message.GetData
* @param{Array} inventory - requested elements * @param{Array} inventory - requested elements
*/ */
function GetData(inventory) { function GetData(inventory) {
@ -242,6 +259,7 @@ module.exports.GetData = GetData;
/** /**
* Ping Message * Ping Message
* *
* @name Transport.Message.Ping
* @param{Buffer} nonce - a random 8 bytes buffer * @param{Buffer} nonce - a random 8 bytes buffer
*/ */
function Ping(nonce) { function Ping(nonce) {
@ -264,6 +282,7 @@ module.exports.Ping = Message.COMMANDS.ping = Ping;
/** /**
* Pong Message * Pong Message
* *
* @name Transport.Message.Pong
* @param{Buffer} nonce - a random 8 bytes buffer * @param{Buffer} nonce - a random 8 bytes buffer
*/ */
function Pong(nonce) { function Pong(nonce) {
@ -277,6 +296,7 @@ module.exports.Pong = Message.COMMANDS.pong = Pong;
/** /**
* Addr Message * Addr Message
* *
* @name Transport.Message.Addressess
* @param{Array} addresses - array of know addresses * @param{Array} addresses - array of know addresses
*/ */
function Addresses(addresses) { function Addresses(addresses) {
@ -342,6 +362,7 @@ module.exports.Addresses = Message.COMMANDS.addr = Addresses;
/** /**
* GetAddr Message * GetAddr Message
* *
* @name Transport.Message.GetAddresses
*/ */
function GetAddresses() { function GetAddresses() {
this.command = 'getaddr'; this.command = 'getaddr';
@ -353,6 +374,7 @@ module.exports.GetAddresses = Message.COMMANDS.getaddr = GetAddresses;
/** /**
* Verack Message * Verack Message
* *
* @name Transport.Message.VerAck
*/ */
function VerAck() { function VerAck() {
this.command = 'verack'; this.command = 'verack';
@ -364,6 +386,7 @@ module.exports.VerAck = Message.COMMANDS.verack = VerAck;
/** /**
* Reject Message * Reject Message
* *
* @name Transport.Message.Reject
*/ */
function Reject() { function Reject() {
this.command = 'reject'; this.command = 'reject';
@ -377,6 +400,7 @@ module.exports.Reject = Message.COMMANDS.reject = Reject;
/** /**
* Alert Message * Alert Message
* *
* @name Transport.Message.Alert
*/ */
function Alert(payload, signature) { function Alert(payload, signature) {
this.command = 'alert'; this.command = 'alert';
@ -408,6 +432,7 @@ module.exports.Alert = Message.COMMANDS.alert = Alert;
/** /**
* Headers Message * Headers Message
* *
* @name Transport.Message.Headers
* @param{Array} blockheaders - array of block headers * @param{Array} blockheaders - array of block headers
*/ */
function Headers(blockheaders) { function Headers(blockheaders) {
@ -446,6 +471,7 @@ module.exports.Headers = Message.COMMANDS.headers = Headers;
/** /**
* Block Message * Block Message
* *
* @name Transport.Message.Block
* @param{Block} block * @param{Block} block
*/ */
function Block(block) { function Block(block) {
@ -468,6 +494,7 @@ module.exports.Block = Message.COMMANDS.block = Block;
/** /**
* Tx Message * Tx Message
* *
* @name Transport.Message.Transaction
* @param{Transaction} transaction * @param{Transaction} transaction
*/ */
function Transaction(transaction) { function Transaction(transaction) {
@ -490,6 +517,7 @@ module.exports.Transaction = Message.COMMANDS.tx = Transaction;
/** /**
* Getblocks Message * Getblocks Message
* *
* @name Transport.Message.GetBlocks
* @param{Array} starts - array of buffers with the starting block hashes * @param{Array} starts - array of buffers with the starting block hashes
* @param{Buffer} [stop] - hash of the last block * @param{Buffer} [stop] - hash of the last block
*/ */
@ -540,6 +568,7 @@ module.exports.GetBlocks = Message.COMMANDS.getblocks = GetBlocks;
/** /**
* Getheaders Message * Getheaders Message
* *
* @name Transport.Message.GetHeaders
* @param{Array} starts - array of buffers with the starting block hashes * @param{Array} starts - array of buffers with the starting block hashes
* @param{Buffer} [stop] - hash of the last block * @param{Buffer} [stop] - hash of the last block
*/ */