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
JavaScript
;
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";