diff --git a/include/darner/util/stats.hpp b/include/darner/util/stats.hpp index 955def0..f580e15 100644 --- a/include/darner/util/stats.hpp +++ b/include/darner/util/stats.hpp @@ -31,7 +31,7 @@ struct stats out << "STAT uptime " << (now - alive_since).total_seconds() << "\r\n"; out << "STAT time " << (now - epoch).total_seconds() << "\r\n"; out << "STAT version " << DARNER_VERSION << "\r\n"; - out << "STAT curr_items " << items_dequeued - items_enqueued << "\r\n"; + out << "STAT curr_items " << (items_enqueued > items_dequeued ? items_enqueued - items_dequeued : 0) << "\r\n"; out << "STAT total_items " << items_enqueued << "\r\n"; out << "STAT curr_connections " << conns_opened - conns_closed << "\r\n"; out << "STAT total_connections " << conns_opened << "\r\n"; diff --git a/src/net/handler.cpp b/src/net/handler.cpp index e31e876..d91c244 100644 --- a/src/net/handler.cpp +++ b/src/net/handler.cpp @@ -157,6 +157,7 @@ void handler::set_on_read_chunk(const system::error_code& e, size_t bytes_transf if (push_stream_->tell() == req_.num_bytes) // are we all done? { push_stream_.reset(); + ++stats_.items_enqueued; return done(true, "STORED\r\n"); } @@ -269,6 +270,7 @@ void handler::get_on_write_chunk(const boost::system::error_code& e, size_t byte } pop_stream_.reset(); } + ++stats_.items_dequeued; return done(true, "\r\nEND\r\n"); } else