File Explorer

/proc/self/root/var/runtime/node_modules/@aws-sdk/node_modules/mqtt-packet

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

constants.js4.9 KB · 188 lines
/* Protocol - protocol constants */const protocol = module.exports /* Command code => mnemonic */protocol.types = {  0: 'reserved',  1: 'connect',  2: 'connack',  3: 'publish',  4: 'puback',  5: 'pubrec',  6: 'pubrel',  7: 'pubcomp',  8: 'subscribe',  9: 'suback',  10: 'unsubscribe',  11: 'unsuback',  12: 'pingreq',  13: 'pingresp',  14: 'disconnect',  15: 'auth'} /* Mnemonic => Command code */protocol.codes = {}for (const k in protocol.types) {  const v = protocol.types[k]  protocol.codes[v] = k} /* Header */protocol.CMD_SHIFT = 4protocol.CMD_MASK = 0xF0protocol.DUP_MASK = 0x08protocol.QOS_MASK = 0x03protocol.QOS_SHIFT = 1protocol.RETAIN_MASK = 0x01 /* Length */protocol.VARBYTEINT_MASK = 0x7Fprotocol.VARBYTEINT_FIN_MASK = 0x80protocol.VARBYTEINT_MAX = 268435455 /* Connack */protocol.SESSIONPRESENT_MASK = 0x01protocol.SESSIONPRESENT_HEADER = Buffer.from([protocol.SESSIONPRESENT_MASK])protocol.CONNACK_HEADER = Buffer.from([protocol.codes.connack << protocol.CMD_SHIFT]) /* Connect */protocol.USERNAME_MASK = 0x80protocol.PASSWORD_MASK = 0x40protocol.WILL_RETAIN_MASK = 0x20protocol.WILL_QOS_MASK = 0x18protocol.WILL_QOS_SHIFT = 3protocol.WILL_FLAG_MASK = 0x04protocol.CLEAN_SESSION_MASK = 0x02protocol.CONNECT_HEADER = Buffer.from([protocol.codes.connect << protocol.CMD_SHIFT]) /* Properties */protocol.properties = {  sessionExpiryInterval: 17,  willDelayInterval: 24,  receiveMaximum: 33,  maximumPacketSize: 39,  topicAliasMaximum: 34,  requestResponseInformation: 25,  requestProblemInformation: 23,  userProperties: 38,  authenticationMethod: 21,  authenticationData: 22,  payloadFormatIndicator: 1,  messageExpiryInterval: 2,  contentType: 3,  responseTopic: 8,  correlationData: 9,  maximumQoS: 36,  retainAvailable: 37,  assignedClientIdentifier: 18,  reasonString: 31,  wildcardSubscriptionAvailable: 40,  subscriptionIdentifiersAvailable: 41,  sharedSubscriptionAvailable: 42,  serverKeepAlive: 19,  responseInformation: 26,  serverReference: 28,  topicAlias: 35,  subscriptionIdentifier: 11}protocol.propertiesCodes = {}for (const prop in protocol.properties) {  const id = protocol.properties[prop]  protocol.propertiesCodes[id] = prop}protocol.propertiesTypes = {  sessionExpiryInterval: 'int32',  willDelayInterval: 'int32',  receiveMaximum: 'int16',  maximumPacketSize: 'int32',  topicAliasMaximum: 'int16',  requestResponseInformation: 'byte',  requestProblemInformation: 'byte',  userProperties: 'pair',  authenticationMethod: 'string',  authenticationData: 'binary',  payloadFormatIndicator: 'byte',  messageExpiryInterval: 'int32',  contentType: 'string',  responseTopic: 'string',  correlationData: 'binary',  maximumQoS: 'int8',  retainAvailable: 'byte',  assignedClientIdentifier: 'string',  reasonString: 'string',  wildcardSubscriptionAvailable: 'byte',  subscriptionIdentifiersAvailable: 'byte',  sharedSubscriptionAvailable: 'byte',  serverKeepAlive: 'int16',  responseInformation: 'string',  serverReference: 'string',  topicAlias: 'int16',  subscriptionIdentifier: 'var'} function genHeader (type) {  return [0, 1, 2].map(qos => {    return [0, 1].map(dup => {      return [0, 1].map(retain => {        const buf = Buffer.alloc(1)        buf.writeUInt8(          protocol.codes[type] << protocol.CMD_SHIFT |          (dup ? protocol.DUP_MASK : 0) |          qos << protocol.QOS_SHIFT | retain, 0, true)        return buf      })    })  })} /* Publish */protocol.PUBLISH_HEADER = genHeader('publish') /* Subscribe */protocol.SUBSCRIBE_HEADER = genHeader('subscribe')protocol.SUBSCRIBE_OPTIONS_QOS_MASK = 0x03protocol.SUBSCRIBE_OPTIONS_NL_MASK = 0x01protocol.SUBSCRIBE_OPTIONS_NL_SHIFT = 2protocol.SUBSCRIBE_OPTIONS_RAP_MASK = 0x01protocol.SUBSCRIBE_OPTIONS_RAP_SHIFT = 3protocol.SUBSCRIBE_OPTIONS_RH_MASK = 0x03protocol.SUBSCRIBE_OPTIONS_RH_SHIFT = 4protocol.SUBSCRIBE_OPTIONS_RH = [0x00, 0x10, 0x20]protocol.SUBSCRIBE_OPTIONS_NL = 0x04protocol.SUBSCRIBE_OPTIONS_RAP = 0x08protocol.SUBSCRIBE_OPTIONS_QOS = [0x00, 0x01, 0x02] /* Unsubscribe */protocol.UNSUBSCRIBE_HEADER = genHeader('unsubscribe') /* Confirmations */protocol.ACKS = {  unsuback: genHeader('unsuback'),  puback: genHeader('puback'),  pubcomp: genHeader('pubcomp'),  pubrel: genHeader('pubrel'),  pubrec: genHeader('pubrec')} protocol.SUBACK_HEADER = Buffer.from([protocol.codes.suback << protocol.CMD_SHIFT]) /* Protocol versions */protocol.VERSION3 = Buffer.from([3])protocol.VERSION4 = Buffer.from([4])protocol.VERSION5 = Buffer.from([5])protocol.VERSION131 = Buffer.from([131])protocol.VERSION132 = Buffer.from([132]) /* QoS */protocol.QOS = [0, 1, 2].map(qos => {  return Buffer.from([qos])}) /* Empty packets */protocol.EMPTY = {  pingreq: Buffer.from([protocol.codes.pingreq << 4, 0]),  pingresp: Buffer.from([protocol.codes.pingresp << 4, 0]),  disconnect: Buffer.from([protocol.codes.disconnect << 4, 0])}