+ /**
+ * Gets whether or not a disconnect was expected.
+ *
+ * Distinguishes desired quits from unexpected disconnections such as socket errors or timeouts.
+ *
+ * @return True if disconnect was requested, otherwise false.
+ */
+ inline bool disconnectExpected() const { return _disconnectExpected; }
+
+ /**
+ * Gets whether or not the server replies to automated PINGs with a valid timestamp
+ *
+ * Distinguishes between servers that reply by quoting the text sent, and those that respond
+ * with whatever they want.
+ *
+ * @return True if a valid timestamp has been received as a PONG, otherwise false.
+ */
+ inline bool isPongTimestampValid() const { return _pongTimestampValid; }
+
+ /**
+ * Gets whether or not an automated PING has been sent without any PONG received
+ *
+ * Reset whenever any PONG is received, not just the automated one sent.
+ *
+ * @return True if a PING has been sent without a PONG received, otherwise false.
+ */
+ inline bool isPongReplyPending() const { return _pongReplyPending; }
+