Initial commit
This commit is contained in:
154
node_modules/mongodb/lib/cmap/events.js
generated
vendored
Normal file
154
node_modules/mongodb/lib/cmap/events.js
generated
vendored
Normal file
@@ -0,0 +1,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
|
||||
};
|
||||
Reference in New Issue
Block a user