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
* 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
*/
bool usable() const
@ -245,6 +247,12 @@ public:
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.
* @return uint32_t

View File

@ -41,6 +41,12 @@ public:
* Destructor
*/
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();
}
/**
* 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
* This method should be called when the filedescriptor that is registered

View File

@ -62,6 +62,12 @@ public:
* @return size_t
*/
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