@firaenix/bittorrent-protocol
Version:
Simple, robust, BitTorrent peer wire protocol implementation
33 lines (32 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MessageFlags = exports.MessageParams = exports.MessageBuffers = void 0;
exports.MessageBuffers = {
MESSAGE_PROTOCOL: Buffer.from('\u0013BitTorrent protocol'),
MESSAGE_KEEP_ALIVE: Buffer.from([0x00, 0x00, 0x00, 0x00]),
MESSAGE_CHOKE: Buffer.from([0x00, 0x00, 0x00, 0x01, 0x00]),
MESSAGE_UNCHOKE: Buffer.from([0x00, 0x00, 0x00, 0x01, 0x01]),
MESSAGE_INTERESTED: Buffer.from([0x00, 0x00, 0x00, 0x01, 0x02]),
MESSAGE_UNINTERESTED: Buffer.from([0x00, 0x00, 0x00, 0x01, 0x03]),
MESSAGE_RESERVED: [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
MESSAGE_PORT: [0x00, 0x00, 0x00, 0x03, 0x09, 0x00, 0x00],
INFOHASH_SPLIT: Buffer.from(':')
};
var MessageParams;
(function (MessageParams) {
MessageParams[MessageParams["INFOHASH_SIZE_LENGTH"] = 1] = "INFOHASH_SIZE_LENGTH";
MessageParams[MessageParams["PEER_ID_LENGTH"] = 20] = "PEER_ID_LENGTH";
})(MessageParams = exports.MessageParams || (exports.MessageParams = {}));
var MessageFlags;
(function (MessageFlags) {
MessageFlags[MessageFlags["Choke"] = 0] = "Choke";
MessageFlags[MessageFlags["Unchoke"] = 1] = "Unchoke";
MessageFlags[MessageFlags["Interested"] = 2] = "Interested";
MessageFlags[MessageFlags["NotInterested"] = 3] = "NotInterested";
MessageFlags[MessageFlags["Have"] = 4] = "Have";
MessageFlags[MessageFlags["Bitfield"] = 5] = "Bitfield";
MessageFlags[MessageFlags["Request"] = 6] = "Request";
MessageFlags[MessageFlags["Piece"] = 7] = "Piece";
MessageFlags[MessageFlags["Cancel"] = 8] = "Cancel";
MessageFlags[MessageFlags["Extended"] = 20] = "Extended";
})(MessageFlags = exports.MessageFlags || (exports.MessageFlags = {}));