UNPKG

telegram-mtproto

Version:
68 lines (62 loc) 2.43 kB
/* eslint-disable max-len */ import { ProtocolError } from '../error'; export default function describeProtocolError(code) { return new ProtocolError(code, getShortDescription(code), getFullDescription(code)); } function getShortDescription(code) { switch (code) { case 16: return `msg_id too low`; case 17: return `msg_id too high`; case 18: return `incorrect two lower order msg_id bits`; case 19: return `same container id`; case 20: return `message too old`; case 32: return `msg_seqno too low`; case 33: return `msg_seqno too high`; case 34: return `odd seq`; case 35: return `even seq`; case 48: return `incorrect server salt`; case 64: return `invalid container`; default: return `unknown`; } } function getFullDescription(code) { switch (code) { case 16: return `Most likely, client time is wrong; it would be worthwhile to synchronize it using msg_id notifications and re-send the original message with the “correct” msg_id or wrap it in a container with a new msg_id if the original message had waited too long on the client to be transmitted`; case 17: return `The client time has to be synchronized, and the message re-sent with the correct msg_id`; case 18: return `the server expects client message msg_id to be divisible by 4`; case 19: return `container msg_id is the same as msg_id of a previously received message (this must never happen)`; case 20: return `message too old, and it cannot be verified whether the server has received a message with this msg_id or not`; case 32: return `the server has already received a message with a lower msg_id but with either a higher or an equal and odd seqno`; case 33: return `similarly, there is a message with a higher msg_id but with either a lower or an equal and odd seqno`; case 34: return `an even msg_seqno expected (irrelevant message), but odd received`; case 35: return `odd msg_seqno expected (relevant message), but even received`; case 48: return `In this case, the bad_server_salt response is received with the correct salt, and the message is to be re-sent with it`; case 64: return `invalid container`; default: return `unknown error`; } } //# sourceMappingURL=describe-protocol-error.js.map