"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServerHeartbeatFailedEvent = exports.ServerHeartbeatSucceededEvent = exports.ServerHeartbeatStartedEvent = exports.TopologyClosedEvent = exports.TopologyOpeningEvent = exports.TopologyDescriptionChangedEvent = exports.ServerClosedEvent = exports.ServerOpeningEvent = exports.ServerDescriptionChangedEvent = void 0; /** * Emitted when server description changes, but does NOT include changes to the RTT. * @public * @category Event */ class ServerDescriptionChangedEvent { /** @internal */ constructor(topologyId, address, previousDescription, newDescription) { this.topologyId = topologyId; this.address = address; this.previousDescription = previousDescription; this.newDescription = newDescription; } } exports.ServerDescriptionChangedEvent = ServerDescriptionChangedEvent; /** * Emitted when server is initialized. * @public * @category Event */ class ServerOpeningEvent { /** @internal */ constructor(topologyId, address) { this.topologyId = topologyId; this.address = address; } } exports.ServerOpeningEvent = ServerOpeningEvent; /** * Emitted when server is closed. * @public * @category Event */ class ServerClosedEvent { /** @internal */ constructor(topologyId, address) { this.topologyId = topologyId; this.address = address; } } exports.ServerClosedEvent = ServerClosedEvent; /** * Emitted when topology description changes. * @public * @category Event */ class TopologyDescriptionChangedEvent { /** @internal */ constructor(topologyId, previousDescription, newDescription) { this.topologyId = topologyId; this.previousDescription = previousDescription; this.newDescription = newDescription; } } exports.TopologyDescriptionChangedEvent = TopologyDescriptionChangedEvent; /** * Emitted when topology is initialized. * @public * @category Event */ class TopologyOpeningEvent { /** @internal */ constructor(topologyId) { this.topologyId = topologyId; } } exports.TopologyOpeningEvent = TopologyOpeningEvent; /** * Emitted when topology is closed. * @public * @category Event */ class TopologyClosedEvent { /** @internal */ constructor(topologyId) { this.topologyId = topologyId; } } exports.TopologyClosedEvent = TopologyClosedEvent; /** * Emitted when the server monitor’s hello command is started - immediately before * the hello command is serialized into raw BSON and written to the socket. * * @public * @category Event */ class ServerHeartbeatStartedEvent { /** @internal */ constructor(connectionId) { this.connectionId = connectionId; } } exports.ServerHeartbeatStartedEvent = ServerHeartbeatStartedEvent; /** * Emitted when the server monitor’s hello succeeds. * @public * @category Event */ class ServerHeartbeatSucceededEvent { /** @internal */ constructor(connectionId, duration, reply) { this.connectionId = connectionId; this.duration = duration; this.reply = reply !== null && reply !== void 0 ? reply : {}; } } exports.ServerHeartbeatSucceededEvent = ServerHeartbeatSucceededEvent; /** * Emitted when the server monitor’s hello fails, either with an “ok: 0” or a socket exception. * @public * @category Event */ class ServerHeartbeatFailedEvent { /** @internal */ constructor(connectionId, duration, failure) { this.connectionId = connectionId; this.duration = duration; this.failure = failure; } } exports.ServerHeartbeatFailedEvent = ServerHeartbeatFailedEvent; //# sourceMappingURL=events.js.map