Skip to content
This repository was archived by the owner on Apr 6, 2019. It is now read-only.

Commit 5ec22db

Browse files
committedFeb 1, 2018
reset response builder on disconnection #150
1 parent f390eef commit 5ec22db

File tree

4 files changed

+16
-1
lines changed

4 files changed

+16
-1
lines changed
 

‎includes/cpp_redis/builders/reply_builder.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ class reply_builder {
8181
//!
8282
bool reply_available(void) const;
8383

84+
//!
85+
//! reset the reply builder to its initial state (clear internal buffer and stages)
86+
//!
87+
void reset(void);
88+
8489
private:
8590
//!
8691
//! build reply using m_buffer content

‎sources/builders/reply_builder.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ reply_builder::operator<<(const std::string& data) {
4141
return *this;
4242
}
4343

44+
void
45+
reply_builder::reset(void) {
46+
m_builder = nullptr;
47+
m_buffer.clear();
48+
}
49+
4450
bool
4551
reply_builder::build_reply(void) {
4652
if (!m_buffer.size())

‎sources/network/redis_connection.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ redis_connection::disconnect(bool wait_for_removal) {
8686

8787
//! clear buffer
8888
m_buffer.clear();
89+
//! clear builder
90+
m_builder.reset();
8991

9092
__CPP_REDIS_LOG(debug, "cpp_redis::network::redis_connection disconnected");
9193
}
@@ -186,6 +188,8 @@ redis_connection::tcp_client_disconnection_handler(void) {
186188
__CPP_REDIS_LOG(debug, "cpp_redis::network::redis_connection has been disconnected");
187189
//! clear buffer
188190
m_buffer.clear();
191+
//! clear builder
192+
m_builder.reset();
189193
//! call disconnection handler
190194
call_disconnection_handler();
191195
}

‎tacopie

0 commit comments

Comments
 (0)
This repository has been archived.