UNPKG

amqplib

Version:

An AMQP 0-9-1 (e.g., RabbitMQ) library and client.

1,519 lines (1,453 loc) 134 kB
/** @preserve This file is generated by the script * ../bin/generate-defs.js, which is not in general included in a * distribution, but is available in the source repository e.g. at * https://github.com/squaremo/amqp.node/ */ "use strict"; function decodeConnectionStart(buffer) { var val, len, offset = 0, fields = { versionMajor: void 0, versionMinor: void 0, serverProperties: void 0, mechanisms: void 0, locales: void 0 }; val = buffer[offset]; offset++; fields.versionMajor = val; val = buffer[offset]; offset++; fields.versionMinor = val; len = buffer.readUInt32BE(offset); offset += 4; val = decodeFields(buffer.slice(offset, offset + len)); offset += len; fields.serverProperties = val; len = buffer.readUInt32BE(offset); offset += 4; val = buffer.slice(offset, offset + len); offset += len; fields.mechanisms = val; len = buffer.readUInt32BE(offset); offset += 4; val = buffer.slice(offset, offset + len); offset += len; fields.locales = val; return fields; } function encodeConnectionStart(channel, fields) { var len, offset = 0, val = null, varyingSize = 0, scratchOffset = 0; val = fields.serverProperties; if (void 0 === val) throw new Error("Missing value for mandatory field 'serverProperties'"); if ("object" != typeof val) throw new TypeError("Field 'serverProperties' is the wrong type; must be an object"); len = encodeTable(SCRATCH, val, scratchOffset); var serverProperties_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len); scratchOffset += len; varyingSize += serverProperties_encoded.length; val = fields.mechanisms; if (void 0 === val) val = Buffer.from("PLAIN"); else if (!Buffer.isBuffer(val)) throw new TypeError("Field 'mechanisms' is the wrong type; must be a Buffer"); varyingSize += val.length; val = fields.locales; if (void 0 === val) val = Buffer.from("en_US"); else if (!Buffer.isBuffer(val)) throw new TypeError("Field 'locales' is the wrong type; must be a Buffer"); varyingSize += val.length; var buffer = Buffer.alloc(22 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655370, 7); offset = 11; val = fields.versionMajor; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'versionMajor' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt8(val, offset); offset++; val = fields.versionMinor; if (void 0 === val) val = 9; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'versionMinor' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt8(val, offset); offset++; offset += serverProperties_encoded.copy(buffer, offset); val = fields.mechanisms; void 0 === val && (val = Buffer.from("PLAIN")); len = val.length; buffer.writeUInt32BE(len, offset); offset += 4; val.copy(buffer, offset); offset += len; val = fields.locales; void 0 === val && (val = Buffer.from("en_US")); len = val.length; buffer.writeUInt32BE(len, offset); offset += 4; val.copy(buffer, offset); offset += len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionStartOk(buffer) { var val, len, offset = 0, fields = { clientProperties: void 0, mechanism: void 0, response: void 0, locale: void 0 }; len = buffer.readUInt32BE(offset); offset += 4; val = decodeFields(buffer.slice(offset, offset + len)); offset += len; fields.clientProperties = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.mechanism = val; len = buffer.readUInt32BE(offset); offset += 4; val = buffer.slice(offset, offset + len); offset += len; fields.response = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.locale = val; return fields; } function encodeConnectionStartOk(channel, fields) { var len, offset = 0, val = null, varyingSize = 0, scratchOffset = 0; val = fields.clientProperties; if (void 0 === val) throw new Error("Missing value for mandatory field 'clientProperties'"); if ("object" != typeof val) throw new TypeError("Field 'clientProperties' is the wrong type; must be an object"); len = encodeTable(SCRATCH, val, scratchOffset); var clientProperties_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len); scratchOffset += len; varyingSize += clientProperties_encoded.length; val = fields.mechanism; if (void 0 === val) val = "PLAIN"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'mechanism' is the wrong type; must be a string (up to 255 chars)"); var mechanism_len = Buffer.byteLength(val, "utf8"); varyingSize += mechanism_len; val = fields.response; if (void 0 === val) throw new Error("Missing value for mandatory field 'response'"); if (!Buffer.isBuffer(val)) throw new TypeError("Field 'response' is the wrong type; must be a Buffer"); varyingSize += val.length; val = fields.locale; if (void 0 === val) val = "en_US"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'locale' is the wrong type; must be a string (up to 255 chars)"); var locale_len = Buffer.byteLength(val, "utf8"); varyingSize += locale_len; var buffer = Buffer.alloc(18 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655371, 7); offset = 11; offset += clientProperties_encoded.copy(buffer, offset); val = fields.mechanism; void 0 === val && (val = "PLAIN"); buffer[offset] = mechanism_len; offset++; buffer.write(val, offset, "utf8"); offset += mechanism_len; val = fields.response; void 0 === val && (val = Buffer.from(void 0)); len = val.length; buffer.writeUInt32BE(len, offset); offset += 4; val.copy(buffer, offset); offset += len; val = fields.locale; void 0 === val && (val = "en_US"); buffer[offset] = locale_len; offset++; buffer.write(val, offset, "utf8"); offset += locale_len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionSecure(buffer) { var val, len, offset = 0, fields = { challenge: void 0 }; len = buffer.readUInt32BE(offset); offset += 4; val = buffer.slice(offset, offset + len); offset += len; fields.challenge = val; return fields; } function encodeConnectionSecure(channel, fields) { var len, offset = 0, val = null, varyingSize = 0; val = fields.challenge; if (void 0 === val) throw new Error("Missing value for mandatory field 'challenge'"); if (!Buffer.isBuffer(val)) throw new TypeError("Field 'challenge' is the wrong type; must be a Buffer"); varyingSize += val.length; var buffer = Buffer.alloc(16 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655380, 7); offset = 11; val = fields.challenge; void 0 === val && (val = Buffer.from(void 0)); len = val.length; buffer.writeUInt32BE(len, offset); offset += 4; val.copy(buffer, offset); offset += len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionSecureOk(buffer) { var val, len, offset = 0, fields = { response: void 0 }; len = buffer.readUInt32BE(offset); offset += 4; val = buffer.slice(offset, offset + len); offset += len; fields.response = val; return fields; } function encodeConnectionSecureOk(channel, fields) { var len, offset = 0, val = null, varyingSize = 0; val = fields.response; if (void 0 === val) throw new Error("Missing value for mandatory field 'response'"); if (!Buffer.isBuffer(val)) throw new TypeError("Field 'response' is the wrong type; must be a Buffer"); varyingSize += val.length; var buffer = Buffer.alloc(16 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655381, 7); offset = 11; val = fields.response; void 0 === val && (val = Buffer.from(void 0)); len = val.length; buffer.writeUInt32BE(len, offset); offset += 4; val.copy(buffer, offset); offset += len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionTune(buffer) { var val, offset = 0, fields = { channelMax: void 0, frameMax: void 0, heartbeat: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.channelMax = val; val = buffer.readUInt32BE(offset); offset += 4; fields.frameMax = val; val = buffer.readUInt16BE(offset); offset += 2; fields.heartbeat = val; return fields; } function encodeConnectionTune(channel, fields) { var offset = 0, val = null, buffer = Buffer.alloc(20); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655390, 7); offset = 11; val = fields.channelMax; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.frameMax; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt32BE(val, offset); offset += 4; val = fields.heartbeat; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionTuneOk(buffer) { var val, offset = 0, fields = { channelMax: void 0, frameMax: void 0, heartbeat: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.channelMax = val; val = buffer.readUInt32BE(offset); offset += 4; fields.frameMax = val; val = buffer.readUInt16BE(offset); offset += 2; fields.heartbeat = val; return fields; } function encodeConnectionTuneOk(channel, fields) { var offset = 0, val = null, buffer = Buffer.alloc(20); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655391, 7); offset = 11; val = fields.channelMax; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.frameMax; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt32BE(val, offset); offset += 4; val = fields.heartbeat; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionOpen(buffer) { var val, len, offset = 0, fields = { virtualHost: void 0, capabilities: void 0, insist: void 0 }; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.virtualHost = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.capabilities = val; val = !!(1 & buffer[offset]); fields.insist = val; return fields; } function encodeConnectionOpen(channel, fields) { var offset = 0, val = null, bits = 0, varyingSize = 0; val = fields.virtualHost; if (void 0 === val) val = "/"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'virtualHost' is the wrong type; must be a string (up to 255 chars)"); var virtualHost_len = Buffer.byteLength(val, "utf8"); varyingSize += virtualHost_len; val = fields.capabilities; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'capabilities' is the wrong type; must be a string (up to 255 chars)"); var capabilities_len = Buffer.byteLength(val, "utf8"); varyingSize += capabilities_len; var buffer = Buffer.alloc(15 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655400, 7); offset = 11; val = fields.virtualHost; void 0 === val && (val = "/"); buffer[offset] = virtualHost_len; offset++; buffer.write(val, offset, "utf8"); offset += virtualHost_len; val = fields.capabilities; void 0 === val && (val = ""); buffer[offset] = capabilities_len; offset++; buffer.write(val, offset, "utf8"); offset += capabilities_len; val = fields.insist; void 0 === val && (val = !1); val && (bits += 1); buffer[offset] = bits; offset++; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionOpenOk(buffer) { var val, len, offset = 0, fields = { knownHosts: void 0 }; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.knownHosts = val; return fields; } function encodeConnectionOpenOk(channel, fields) { var offset = 0, val = null, varyingSize = 0; val = fields.knownHosts; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'knownHosts' is the wrong type; must be a string (up to 255 chars)"); var knownHosts_len = Buffer.byteLength(val, "utf8"); varyingSize += knownHosts_len; var buffer = Buffer.alloc(13 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655401, 7); offset = 11; val = fields.knownHosts; void 0 === val && (val = ""); buffer[offset] = knownHosts_len; offset++; buffer.write(val, offset, "utf8"); offset += knownHosts_len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionClose(buffer) { var val, len, offset = 0, fields = { replyCode: void 0, replyText: void 0, classId: void 0, methodId: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.replyCode = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.replyText = val; val = buffer.readUInt16BE(offset); offset += 2; fields.classId = val; val = buffer.readUInt16BE(offset); offset += 2; fields.methodId = val; return fields; } function encodeConnectionClose(channel, fields) { var offset = 0, val = null, varyingSize = 0; val = fields.replyText; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)"); var replyText_len = Buffer.byteLength(val, "utf8"); varyingSize += replyText_len; var buffer = Buffer.alloc(19 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655410, 7); offset = 11; val = fields.replyCode; if (void 0 === val) throw new Error("Missing value for mandatory field 'replyCode'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.replyText; void 0 === val && (val = ""); buffer[offset] = replyText_len; offset++; buffer.write(val, offset, "utf8"); offset += replyText_len; val = fields.classId; if (void 0 === val) throw new Error("Missing value for mandatory field 'classId'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.methodId; if (void 0 === val) throw new Error("Missing value for mandatory field 'methodId'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionCloseOk(buffer) { return {}; } function encodeConnectionCloseOk(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655411, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionBlocked(buffer) { var val, len, offset = 0, fields = { reason: void 0 }; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.reason = val; return fields; } function encodeConnectionBlocked(channel, fields) { var offset = 0, val = null, varyingSize = 0; val = fields.reason; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'reason' is the wrong type; must be a string (up to 255 chars)"); var reason_len = Buffer.byteLength(val, "utf8"); varyingSize += reason_len; var buffer = Buffer.alloc(13 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655420, 7); offset = 11; val = fields.reason; void 0 === val && (val = ""); buffer[offset] = reason_len; offset++; buffer.write(val, offset, "utf8"); offset += reason_len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeConnectionUnblocked(buffer) { return {}; } function encodeConnectionUnblocked(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(655421, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeChannelOpen(buffer) { var val, len, offset = 0, fields = { outOfBand: void 0 }; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.outOfBand = val; return fields; } function encodeChannelOpen(channel, fields) { var offset = 0, val = null, varyingSize = 0; val = fields.outOfBand; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'outOfBand' is the wrong type; must be a string (up to 255 chars)"); var outOfBand_len = Buffer.byteLength(val, "utf8"); varyingSize += outOfBand_len; var buffer = Buffer.alloc(13 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1310730, 7); offset = 11; val = fields.outOfBand; void 0 === val && (val = ""); buffer[offset] = outOfBand_len; offset++; buffer.write(val, offset, "utf8"); offset += outOfBand_len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeChannelOpenOk(buffer) { var val, len, offset = 0, fields = { channelId: void 0 }; len = buffer.readUInt32BE(offset); offset += 4; val = buffer.slice(offset, offset + len); offset += len; fields.channelId = val; return fields; } function encodeChannelOpenOk(channel, fields) { var len, offset = 0, val = null, varyingSize = 0; val = fields.channelId; if (void 0 === val) val = Buffer.from(""); else if (!Buffer.isBuffer(val)) throw new TypeError("Field 'channelId' is the wrong type; must be a Buffer"); varyingSize += val.length; var buffer = Buffer.alloc(16 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1310731, 7); offset = 11; val = fields.channelId; void 0 === val && (val = Buffer.from("")); len = val.length; buffer.writeUInt32BE(len, offset); offset += 4; val.copy(buffer, offset); offset += len; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeChannelFlow(buffer) { var val, fields = { active: void 0 }; val = !!(1 & buffer[0]); fields.active = val; return fields; } function encodeChannelFlow(channel, fields) { var offset = 0, val = null, bits = 0, buffer = Buffer.alloc(13); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1310740, 7); offset = 11; val = fields.active; if (void 0 === val) throw new Error("Missing value for mandatory field 'active'"); val && (bits += 1); buffer[offset] = bits; offset++; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeChannelFlowOk(buffer) { var val, fields = { active: void 0 }; val = !!(1 & buffer[0]); fields.active = val; return fields; } function encodeChannelFlowOk(channel, fields) { var offset = 0, val = null, bits = 0, buffer = Buffer.alloc(13); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1310741, 7); offset = 11; val = fields.active; if (void 0 === val) throw new Error("Missing value for mandatory field 'active'"); val && (bits += 1); buffer[offset] = bits; offset++; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeChannelClose(buffer) { var val, len, offset = 0, fields = { replyCode: void 0, replyText: void 0, classId: void 0, methodId: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.replyCode = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.replyText = val; val = buffer.readUInt16BE(offset); offset += 2; fields.classId = val; val = buffer.readUInt16BE(offset); offset += 2; fields.methodId = val; return fields; } function encodeChannelClose(channel, fields) { var offset = 0, val = null, varyingSize = 0; val = fields.replyText; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)"); var replyText_len = Buffer.byteLength(val, "utf8"); varyingSize += replyText_len; var buffer = Buffer.alloc(19 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1310760, 7); offset = 11; val = fields.replyCode; if (void 0 === val) throw new Error("Missing value for mandatory field 'replyCode'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.replyText; void 0 === val && (val = ""); buffer[offset] = replyText_len; offset++; buffer.write(val, offset, "utf8"); offset += replyText_len; val = fields.classId; if (void 0 === val) throw new Error("Missing value for mandatory field 'classId'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.methodId; if (void 0 === val) throw new Error("Missing value for mandatory field 'methodId'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeChannelCloseOk(buffer) { return {}; } function encodeChannelCloseOk(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1310761, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeAccessRequest(buffer) { var val, len, offset = 0, fields = { realm: void 0, exclusive: void 0, passive: void 0, active: void 0, write: void 0, read: void 0 }; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.realm = val; val = !!(1 & buffer[offset]); fields.exclusive = val; val = !!(2 & buffer[offset]); fields.passive = val; val = !!(4 & buffer[offset]); fields.active = val; val = !!(8 & buffer[offset]); fields.write = val; val = !!(16 & buffer[offset]); fields.read = val; return fields; } function encodeAccessRequest(channel, fields) { var offset = 0, val = null, bits = 0, varyingSize = 0; val = fields.realm; if (void 0 === val) val = "/data"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'realm' is the wrong type; must be a string (up to 255 chars)"); var realm_len = Buffer.byteLength(val, "utf8"); varyingSize += realm_len; var buffer = Buffer.alloc(14 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1966090, 7); offset = 11; val = fields.realm; void 0 === val && (val = "/data"); buffer[offset] = realm_len; offset++; buffer.write(val, offset, "utf8"); offset += realm_len; val = fields.exclusive; void 0 === val && (val = !1); val && (bits += 1); val = fields.passive; void 0 === val && (val = !0); val && (bits += 2); val = fields.active; void 0 === val && (val = !0); val && (bits += 4); val = fields.write; void 0 === val && (val = !0); val && (bits += 8); val = fields.read; void 0 === val && (val = !0); val && (bits += 16); buffer[offset] = bits; offset++; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeAccessRequestOk(buffer) { var val, offset = 0, fields = { ticket: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; return fields; } function encodeAccessRequestOk(channel, fields) { var offset = 0, val = null, buffer = Buffer.alloc(14); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(1966091, 7); offset = 11; val = fields.ticket; if (void 0 === val) val = 1; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeDeclare(buffer) { var val, len, offset = 0, fields = { ticket: void 0, exchange: void 0, type: void 0, passive: void 0, durable: void 0, autoDelete: void 0, internal: void 0, nowait: void 0, arguments: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.exchange = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.type = val; val = !!(1 & buffer[offset]); fields.passive = val; val = !!(2 & buffer[offset]); fields.durable = val; val = !!(4 & buffer[offset]); fields.autoDelete = val; val = !!(8 & buffer[offset]); fields.internal = val; val = !!(16 & buffer[offset]); fields.nowait = val; offset++; len = buffer.readUInt32BE(offset); offset += 4; val = decodeFields(buffer.slice(offset, offset + len)); offset += len; fields.arguments = val; return fields; } function encodeExchangeDeclare(channel, fields) { var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0; val = fields.exchange; if (void 0 === val) throw new Error("Missing value for mandatory field 'exchange'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)"); var exchange_len = Buffer.byteLength(val, "utf8"); varyingSize += exchange_len; val = fields.type; if (void 0 === val) val = "direct"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'type' is the wrong type; must be a string (up to 255 chars)"); var type_len = Buffer.byteLength(val, "utf8"); varyingSize += type_len; val = fields.arguments; if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object"); len = encodeTable(SCRATCH, val, scratchOffset); var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len); scratchOffset += len; varyingSize += arguments_encoded.length; var buffer = Buffer.alloc(17 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621450, 7); offset = 11; val = fields.ticket; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.exchange; void 0 === val && (val = void 0); buffer[offset] = exchange_len; offset++; buffer.write(val, offset, "utf8"); offset += exchange_len; val = fields.type; void 0 === val && (val = "direct"); buffer[offset] = type_len; offset++; buffer.write(val, offset, "utf8"); offset += type_len; val = fields.passive; void 0 === val && (val = !1); val && (bits += 1); val = fields.durable; void 0 === val && (val = !1); val && (bits += 2); val = fields.autoDelete; void 0 === val && (val = !1); val && (bits += 4); val = fields.internal; void 0 === val && (val = !1); val && (bits += 8); val = fields.nowait; void 0 === val && (val = !1); val && (bits += 16); buffer[offset] = bits; offset++; bits = 0; offset += arguments_encoded.copy(buffer, offset); buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeDeclareOk(buffer) { return {}; } function encodeExchangeDeclareOk(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621451, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeDelete(buffer) { var val, len, offset = 0, fields = { ticket: void 0, exchange: void 0, ifUnused: void 0, nowait: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.exchange = val; val = !!(1 & buffer[offset]); fields.ifUnused = val; val = !!(2 & buffer[offset]); fields.nowait = val; return fields; } function encodeExchangeDelete(channel, fields) { var offset = 0, val = null, bits = 0, varyingSize = 0; val = fields.exchange; if (void 0 === val) throw new Error("Missing value for mandatory field 'exchange'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)"); var exchange_len = Buffer.byteLength(val, "utf8"); varyingSize += exchange_len; var buffer = Buffer.alloc(16 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621460, 7); offset = 11; val = fields.ticket; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.exchange; void 0 === val && (val = void 0); buffer[offset] = exchange_len; offset++; buffer.write(val, offset, "utf8"); offset += exchange_len; val = fields.ifUnused; void 0 === val && (val = !1); val && (bits += 1); val = fields.nowait; void 0 === val && (val = !1); val && (bits += 2); buffer[offset] = bits; offset++; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeDeleteOk(buffer) { return {}; } function encodeExchangeDeleteOk(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621461, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeBind(buffer) { var val, len, offset = 0, fields = { ticket: void 0, destination: void 0, source: void 0, routingKey: void 0, nowait: void 0, arguments: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.destination = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.source = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.routingKey = val; val = !!(1 & buffer[offset]); fields.nowait = val; offset++; len = buffer.readUInt32BE(offset); offset += 4; val = decodeFields(buffer.slice(offset, offset + len)); offset += len; fields.arguments = val; return fields; } function encodeExchangeBind(channel, fields) { var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0; val = fields.destination; if (void 0 === val) throw new Error("Missing value for mandatory field 'destination'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)"); var destination_len = Buffer.byteLength(val, "utf8"); varyingSize += destination_len; val = fields.source; if (void 0 === val) throw new Error("Missing value for mandatory field 'source'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)"); var source_len = Buffer.byteLength(val, "utf8"); varyingSize += source_len; val = fields.routingKey; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)"); var routingKey_len = Buffer.byteLength(val, "utf8"); varyingSize += routingKey_len; val = fields.arguments; if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object"); len = encodeTable(SCRATCH, val, scratchOffset); var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len); scratchOffset += len; varyingSize += arguments_encoded.length; var buffer = Buffer.alloc(18 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621470, 7); offset = 11; val = fields.ticket; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.destination; void 0 === val && (val = void 0); buffer[offset] = destination_len; offset++; buffer.write(val, offset, "utf8"); offset += destination_len; val = fields.source; void 0 === val && (val = void 0); buffer[offset] = source_len; offset++; buffer.write(val, offset, "utf8"); offset += source_len; val = fields.routingKey; void 0 === val && (val = ""); buffer[offset] = routingKey_len; offset++; buffer.write(val, offset, "utf8"); offset += routingKey_len; val = fields.nowait; void 0 === val && (val = !1); val && (bits += 1); buffer[offset] = bits; offset++; bits = 0; offset += arguments_encoded.copy(buffer, offset); buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeBindOk(buffer) { return {}; } function encodeExchangeBindOk(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621471, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeUnbind(buffer) { var val, len, offset = 0, fields = { ticket: void 0, destination: void 0, source: void 0, routingKey: void 0, nowait: void 0, arguments: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.destination = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.source = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.routingKey = val; val = !!(1 & buffer[offset]); fields.nowait = val; offset++; len = buffer.readUInt32BE(offset); offset += 4; val = decodeFields(buffer.slice(offset, offset + len)); offset += len; fields.arguments = val; return fields; } function encodeExchangeUnbind(channel, fields) { var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0; val = fields.destination; if (void 0 === val) throw new Error("Missing value for mandatory field 'destination'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)"); var destination_len = Buffer.byteLength(val, "utf8"); varyingSize += destination_len; val = fields.source; if (void 0 === val) throw new Error("Missing value for mandatory field 'source'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)"); var source_len = Buffer.byteLength(val, "utf8"); varyingSize += source_len; val = fields.routingKey; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)"); var routingKey_len = Buffer.byteLength(val, "utf8"); varyingSize += routingKey_len; val = fields.arguments; if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object"); len = encodeTable(SCRATCH, val, scratchOffset); var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len); scratchOffset += len; varyingSize += arguments_encoded.length; var buffer = Buffer.alloc(18 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621480, 7); offset = 11; val = fields.ticket; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.destination; void 0 === val && (val = void 0); buffer[offset] = destination_len; offset++; buffer.write(val, offset, "utf8"); offset += destination_len; val = fields.source; void 0 === val && (val = void 0); buffer[offset] = source_len; offset++; buffer.write(val, offset, "utf8"); offset += source_len; val = fields.routingKey; void 0 === val && (val = ""); buffer[offset] = routingKey_len; offset++; buffer.write(val, offset, "utf8"); offset += routingKey_len; val = fields.nowait; void 0 === val && (val = !1); val && (bits += 1); buffer[offset] = bits; offset++; bits = 0; offset += arguments_encoded.copy(buffer, offset); buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeExchangeUnbindOk(buffer) { return {}; } function encodeExchangeUnbindOk(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(2621491, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeQueueDeclare(buffer) { var val, len, offset = 0, fields = { ticket: void 0, queue: void 0, passive: void 0, durable: void 0, exclusive: void 0, autoDelete: void 0, nowait: void 0, arguments: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.queue = val; val = !!(1 & buffer[offset]); fields.passive = val; val = !!(2 & buffer[offset]); fields.durable = val; val = !!(4 & buffer[offset]); fields.exclusive = val; val = !!(8 & buffer[offset]); fields.autoDelete = val; val = !!(16 & buffer[offset]); fields.nowait = val; offset++; len = buffer.readUInt32BE(offset); offset += 4; val = decodeFields(buffer.slice(offset, offset + len)); offset += len; fields.arguments = val; return fields; } function encodeQueueDeclare(channel, fields) { var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0; val = fields.queue; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)"); var queue_len = Buffer.byteLength(val, "utf8"); varyingSize += queue_len; val = fields.arguments; if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object"); len = encodeTable(SCRATCH, val, scratchOffset); var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len); scratchOffset += len; varyingSize += arguments_encoded.length; var buffer = Buffer.alloc(16 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(3276810, 7); offset = 11; val = fields.ticket; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.queue; void 0 === val && (val = ""); buffer[offset] = queue_len; offset++; buffer.write(val, offset, "utf8"); offset += queue_len; val = fields.passive; void 0 === val && (val = !1); val && (bits += 1); val = fields.durable; void 0 === val && (val = !1); val && (bits += 2); val = fields.exclusive; void 0 === val && (val = !1); val && (bits += 4); val = fields.autoDelete; void 0 === val && (val = !1); val && (bits += 8); val = fields.nowait; void 0 === val && (val = !1); val && (bits += 16); buffer[offset] = bits; offset++; bits = 0; offset += arguments_encoded.copy(buffer, offset); buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeQueueDeclareOk(buffer) { var val, len, offset = 0, fields = { queue: void 0, messageCount: void 0, consumerCount: void 0 }; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.queue = val; val = buffer.readUInt32BE(offset); offset += 4; fields.messageCount = val; val = buffer.readUInt32BE(offset); offset += 4; fields.consumerCount = val; return fields; } function encodeQueueDeclareOk(channel, fields) { var offset = 0, val = null, varyingSize = 0; val = fields.queue; if (void 0 === val) throw new Error("Missing value for mandatory field 'queue'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)"); var queue_len = Buffer.byteLength(val, "utf8"); varyingSize += queue_len; var buffer = Buffer.alloc(21 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(3276811, 7); offset = 11; val = fields.queue; void 0 === val && (val = void 0); buffer[offset] = queue_len; offset++; buffer.write(val, offset, "utf8"); offset += queue_len; val = fields.messageCount; if (void 0 === val) throw new Error("Missing value for mandatory field 'messageCount'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt32BE(val, offset); offset += 4; val = fields.consumerCount; if (void 0 === val) throw new Error("Missing value for mandatory field 'consumerCount'"); if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'consumerCount' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt32BE(val, offset); offset += 4; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeQueueBind(buffer) { var val, len, offset = 0, fields = { ticket: void 0, queue: void 0, exchange: void 0, routingKey: void 0, nowait: void 0, arguments: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.queue = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.exchange = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.routingKey = val; val = !!(1 & buffer[offset]); fields.nowait = val; offset++; len = buffer.readUInt32BE(offset); offset += 4; val = decodeFields(buffer.slice(offset, offset + len)); offset += len; fields.arguments = val; return fields; } function encodeQueueBind(channel, fields) { var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0; val = fields.queue; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)"); var queue_len = Buffer.byteLength(val, "utf8"); varyingSize += queue_len; val = fields.exchange; if (void 0 === val) throw new Error("Missing value for mandatory field 'exchange'"); if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)"); var exchange_len = Buffer.byteLength(val, "utf8"); varyingSize += exchange_len; val = fields.routingKey; if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)"); var routingKey_len = Buffer.byteLength(val, "utf8"); varyingSize += routingKey_len; val = fields.arguments; if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object"); len = encodeTable(SCRATCH, val, scratchOffset); var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len); scratchOffset += len; varyingSize += arguments_encoded.length; var buffer = Buffer.alloc(18 + varyingSize); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(3276820, 7); offset = 11; val = fields.ticket; if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); buffer.writeUInt16BE(val, offset); offset += 2; val = fields.queue; void 0 === val && (val = ""); buffer[offset] = queue_len; offset++; buffer.write(val, offset, "utf8"); offset += queue_len; val = fields.exchange; void 0 === val && (val = void 0); buffer[offset] = exchange_len; offset++; buffer.write(val, offset, "utf8"); offset += exchange_len; val = fields.routingKey; void 0 === val && (val = ""); buffer[offset] = routingKey_len; offset++; buffer.write(val, offset, "utf8"); offset += routingKey_len; val = fields.nowait; void 0 === val && (val = !1); val && (bits += 1); buffer[offset] = bits; offset++; bits = 0; offset += arguments_encoded.copy(buffer, offset); buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeQueueBindOk(buffer) { return {}; } function encodeQueueBindOk(channel, fields) { var offset = 0, buffer = Buffer.alloc(12); buffer[0] = 1; buffer.writeUInt16BE(channel, 1); buffer.writeUInt32BE(3276821, 7); offset = 11; buffer[offset] = 206; buffer.writeUInt32BE(offset - 7, 3); return buffer; } function decodeQueuePurge(buffer) { var val, len, offset = 0, fields = { ticket: void 0, queue: void 0, nowait: void 0 }; val = buffer.readUInt16BE(offset); offset += 2; fields.ticket = val; len = buffer.readUInt8(offset); offset++; val = buffer.toString("utf8", offset, offset + len); offset += len; fields.queue = val; val = !!(1 & buffer[offset]); fields.nowait = val; return fields; } function encodeQueuePurge(channel, fields) { var offset = 0, val = null, bits = 0, varyingSize