added TcpConnection::closed()

This commit is contained in:
Emiel Bruijntjes 2018-11-14 14:15:52 +01:00
parent 888dc8c40b
commit 45ca61cc43
4 changed files with 29 additions and 0 deletions

View File

@ -238,6 +238,8 @@ public:
/** /**
* Is the connection in a usable state / not yet closed or being closed * Is the connection in a usable state / not yet closed or being closed
* When a connection is usable, you can send further commands over it. When it is
* unusable, it may still be connected and finished queued commands.
* @return bool * @return bool
*/ */
bool usable() const bool usable() const
@ -245,6 +247,12 @@ public:
return _connection.usable(); return _connection.usable();
} }
/**
* Is the connection closed and full dead? The entire TCP connection has been discarded.
* @return bool
*/
bool closed() const;
/** /**
* The max frame size. Useful if you set up a buffer to parse incoming data: it does not have to exceed this size. * The max frame size. Useful if you set up a buffer to parse incoming data: it does not have to exceed this size.
* @return uint32_t * @return uint32_t

View File

@ -41,6 +41,12 @@ public:
* Destructor * Destructor
*/ */
virtual ~TcpClosed() noexcept = default; virtual ~TcpClosed() noexcept = default;
/**
* Is this a closed / dead state?
* @return bool
*/
virtual bool closed() const override { return true; }
}; };
/** /**

View File

@ -57,6 +57,15 @@ std::size_t TcpConnection::queued() const
return _state->queued(); return _state->queued();
} }
/**
* Is the connection closed and full dead? The entire TCP connection has been discarded.
* @return bool
*/
bool TcpConnection::closed() const
{
return _state->closed();
}
/** /**
* Process the TCP connection * Process the TCP connection
* This method should be called when the filedescriptor that is registered * This method should be called when the filedescriptor that is registered

View File

@ -62,6 +62,12 @@ public:
* @return size_t * @return size_t
*/ */
virtual std::size_t queued() const { return 0; } virtual std::size_t queued() const { return 0; }
/**
* Is this a closed / dead state?
* @return bool
*/
virtual bool closed() const { return false; }
/** /**
* Process the filedescriptor in the object * Process the filedescriptor in the object