HTMLify
events.js
Views: 8 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | 'use strict'; /** * The base class for all monitoring events published from the connection pool * * @property {number} time A timestamp when the event was created * @property {string} address The address (host/port pair) of the pool */ class ConnectionPoolMonitoringEvent { constructor(pool) { this.time = new Date(); this.address = pool.address; } } /** * An event published when a connection pool is created * * @property {Object} options The options used to create this connection pool */ class ConnectionPoolCreatedEvent extends ConnectionPoolMonitoringEvent { constructor(pool) { super(pool); this.options = pool.options; } } /** * An event published when a connection pool is closed */ class ConnectionPoolClosedEvent extends ConnectionPoolMonitoringEvent { constructor(pool) { super(pool); } } /** * An event published when a connection pool creates a new connection * * @property {number} connectionId A monotonically increasing, per-pool id for the newly created connection */ class ConnectionCreatedEvent extends ConnectionPoolMonitoringEvent { constructor(pool, connection) { super(pool); this.connectionId = connection.id; } } /** * An event published when a connection is ready for use * * @property {number} connectionId The id of the connection */ class ConnectionReadyEvent extends ConnectionPoolMonitoringEvent { constructor(pool, connection) { super(pool); this.connectionId = connection.id; } } /** * An event published when a connection is closed * * @property {number} connectionId The id of the connection * @property {string} reason The reason the connection was closed */ class ConnectionClosedEvent extends ConnectionPoolMonitoringEvent { constructor(pool, connection, reason) { super(pool); this.connectionId = connection.id; this.reason = reason || 'unknown'; } } /** * An event published when a request to check a connection out begins */ class ConnectionCheckOutStartedEvent extends ConnectionPoolMonitoringEvent { constructor(pool) { super(pool); } } /** * An event published when a request to check a connection out fails * * @property {string} reason The reason the attempt to check out failed */ class ConnectionCheckOutFailedEvent extends ConnectionPoolMonitoringEvent { constructor(pool, reason) { super(pool); this.reason = reason; } } /** * An event published when a connection is checked out of the connection pool * * @property {number} connectionId The id of the connection */ class ConnectionCheckedOutEvent extends ConnectionPoolMonitoringEvent { constructor(pool, connection) { super(pool); this.connectionId = connection.id; } } /** * An event published when a connection is checked into the connection pool * * @property {number} connectionId The id of the connection */ class ConnectionCheckedInEvent extends ConnectionPoolMonitoringEvent { constructor(pool, connection) { super(pool); this.connectionId = connection.id; } } /** * An event published when a connection pool is cleared */ class ConnectionPoolClearedEvent extends ConnectionPoolMonitoringEvent { constructor(pool) { super(pool); } } const CMAP_EVENT_NAMES = [ 'connectionPoolCreated', 'connectionPoolClosed', 'connectionCreated', 'connectionReady', 'connectionClosed', 'connectionCheckOutStarted', 'connectionCheckOutFailed', 'connectionCheckedOut', 'connectionCheckedIn', 'connectionPoolCleared' ]; module.exports = { CMAP_EVENT_NAMES, ConnectionPoolCreatedEvent, ConnectionPoolClosedEvent, ConnectionCreatedEvent, ConnectionReadyEvent, ConnectionClosedEvent, ConnectionCheckOutStartedEvent, ConnectionCheckOutFailedEvent, ConnectionCheckedOutEvent, ConnectionCheckedInEvent, ConnectionPoolClearedEvent }; |