UNPKG

pocket-messaging

Version:

A small cryptographic messaging library written in TypeScript both for browser and nodejs supporting TCP and WebSockets

68 lines (67 loc) 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EVENT_HANDSHAKEFACTORY_PUBLICKEY_OVERFLOW = exports.EVENT_HANDSHAKEFACTORY_HANDSHAKE_ERROR = exports.EVENT_HANDSHAKEFACTORY_HANDSHAKE = exports.EventType = exports.ExpectingReply = exports.MESSAGE_MAX_BYTES = exports.PONG_ROUTE = exports.PING_ROUTE = exports.MSG_ID_LENGTH = exports.DEFAULT_PING_INTERVAL = void 0; exports.DEFAULT_PING_INTERVAL = 10000; // Milliseconds. /** Msg ID length in bytes. */ exports.MSG_ID_LENGTH = 4; exports.PING_ROUTE = "_ping"; exports.PONG_ROUTE = "_pong"; /** * A single message cannot exceed 67 KiB in total for its payload. * * 67 KiB allows the sender to send a payload of 64 KiB with plenty * of space left for its overhead, and 64 KiB is typically a * fitting payload to deal with when reading/storing data. * * Actual data sent comes with some bytes added overhead. */ exports.MESSAGE_MAX_BYTES = 67 * 1024; var ExpectingReply; (function (ExpectingReply) { ExpectingReply[ExpectingReply["NONE"] = 0] = "NONE"; ExpectingReply[ExpectingReply["SINGLE"] = 1] = "SINGLE"; ExpectingReply[ExpectingReply["MULTIPLE"] = 2] = "MULTIPLE"; })(ExpectingReply = exports.ExpectingReply || (exports.ExpectingReply = {})); var EventType; (function (EventType) { /** * Data event only emitted on main event emitter on new * incoming messages (which are not reply messages). */ EventType["ROUTE"] = "route"; /** * Data event only emitted on message specific event emitters as * replies on sent message. */ EventType["REPLY"] = "reply"; /** * Socket error event emitted on all event emitters including main. */ EventType["ERROR"] = "error"; /** * Socket close event emitted on all event emitters including main. */ EventType["CLOSE"] = "close"; /** * Message reply timeout event emitted on message specific event emitters * who are awaiting replies on sent message. */ EventType["TIMEOUT"] = "timeout"; /** * Any event emitted on message specific event emitters for the events: * REPLY, * ERROR, * CLOSE, * TIMEOUT * This is useful for having a catch-all event handler when waiting on replies. */ EventType["ANY"] = "any"; /** * Event emitted only on main event emitter when a ping has received its pong message. * It provides the round-time in milliseconds as data. */ EventType["PONG"] = "ping"; })(EventType = exports.EventType || (exports.EventType = {})); exports.EVENT_HANDSHAKEFACTORY_HANDSHAKE = "HANDSHAKE"; exports.EVENT_HANDSHAKEFACTORY_HANDSHAKE_ERROR = "HANDSHAKE_ERROR"; exports.EVENT_HANDSHAKEFACTORY_PUBLICKEY_OVERFLOW = "PUBLICKEY_OVERFLOW";