Remove globals
This commit is contained in:
parent
6325feda49
commit
9aafef0987
8
lib/transport/index.js
Normal file
8
lib/transport/index.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* @namespace Transport
|
||||||
|
*/
|
||||||
|
module.exports = {
|
||||||
|
Peer: require('./peer'),
|
||||||
|
Messages: require('./messages'),
|
||||||
|
Pool: require('./pool')
|
||||||
|
};
|
||||||
@ -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
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user