From b46a3249430bf4f02b35246e68edd6d6e35b68a7 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 17 Oct 2018 10:15:50 +0900 Subject: [PATCH] nghttpx: Convert FreelistZone to enum class --- src/shrpx_http2_session.cc | 24 ++++++++++++------------ src/shrpx_http2_session.h | 12 ++++++------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/shrpx_http2_session.cc b/src/shrpx_http2_session.cc index e09b594b..c41f85e3 100644 --- a/src/shrpx_http2_session.cc +++ b/src/shrpx_http2_session.cc @@ -199,7 +199,7 @@ Http2Session::Http2Session(struct ev_loop *loop, SSL_CTX *ssl_ctx, raddr_(nullptr), state_(DISCONNECTED), connection_check_state_(CONNECTION_CHECK_NONE), - freelist_zone_(FREELIST_ZONE_NONE), + freelist_zone_(FreelistZone::NONE), settings_recved_(false), allow_connect_proto_(false) { read_ = write_ = &Http2Session::noop; @@ -723,7 +723,7 @@ void Http2Session::remove_downstream_connection( SSLOG(INFO, this) << "Remove downstream"; } - if (freelist_zone_ == FREELIST_ZONE_NONE && !max_concurrency_reached()) { + if (freelist_zone_ == FreelistZone::NONE && !max_concurrency_reached()) { if (LOG_ENABLED(INFO)) { SSLOG(INFO, this) << "Append to http2_extra_freelist, addr=" << addr_ << ", freelist.size=" @@ -2313,7 +2313,7 @@ Http2Session::get_downstream_addr_group() const { } void Http2Session::add_to_avail_freelist() { - if (freelist_zone_ != FREELIST_ZONE_NONE) { + if (freelist_zone_ != FreelistZone::NONE) { return; } @@ -2323,13 +2323,13 @@ void Http2Session::add_to_avail_freelist() { << group_->shared_addr->http2_avail_freelist.size(); } - freelist_zone_ = FREELIST_ZONE_AVAIL; + freelist_zone_ = FreelistZone::AVAIL; group_->shared_addr->http2_avail_freelist.append(this); addr_->in_avail = true; } void Http2Session::add_to_extra_freelist() { - if (freelist_zone_ != FREELIST_ZONE_NONE) { + if (freelist_zone_ != FreelistZone::NONE) { return; } @@ -2339,15 +2339,15 @@ void Http2Session::add_to_extra_freelist() { << addr_->http2_extra_freelist.size(); } - freelist_zone_ = FREELIST_ZONE_EXTRA; + freelist_zone_ = FreelistZone::EXTRA; addr_->http2_extra_freelist.append(this); } void Http2Session::remove_from_freelist() { switch (freelist_zone_) { - case FREELIST_ZONE_NONE: + case FreelistZone::NONE: return; - case FREELIST_ZONE_AVAIL: + case FreelistZone::AVAIL: if (LOG_ENABLED(INFO)) { SSLOG(INFO, this) << "Remove from http2_avail_freelist, group=" << group_ << ", freelist.size=" @@ -2356,7 +2356,7 @@ void Http2Session::remove_from_freelist() { group_->shared_addr->http2_avail_freelist.remove(this); addr_->in_avail = false; break; - case FREELIST_ZONE_EXTRA: + case FreelistZone::EXTRA: if (LOG_ENABLED(INFO)) { SSLOG(INFO, this) << "Remove from http2_extra_freelist, addr=" << addr_ << ", freelist.size=" @@ -2364,16 +2364,16 @@ void Http2Session::remove_from_freelist() { } addr_->http2_extra_freelist.remove(this); break; - case FREELIST_ZONE_GONE: + case FreelistZone::GONE: return; } - freelist_zone_ = FREELIST_ZONE_NONE; + freelist_zone_ = FreelistZone::NONE; } void Http2Session::exclude_from_scheduling() { remove_from_freelist(); - freelist_zone_ = FREELIST_ZONE_GONE; + freelist_zone_ = FreelistZone::GONE; } DefaultMemchunks *Http2Session::get_request_buf() { return &wb_; } diff --git a/src/shrpx_http2_session.h b/src/shrpx_http2_session.h index 09b865bc..fdf01445 100644 --- a/src/shrpx_http2_session.h +++ b/src/shrpx_http2_session.h @@ -58,18 +58,18 @@ struct StreamData { Http2DownstreamConnection *dconn; }; -enum FreelistZone { +enum class FreelistZone { // Http2Session object is not linked in any freelist. - FREELIST_ZONE_NONE, + NONE, // Http2Session object is linked in group scope // http2_avail_freelist. - FREELIST_ZONE_AVAIL, + AVAIL, // Http2Session object is linked in address scope // http2_extra_freelist. - FREELIST_ZONE_EXTRA, + EXTRA, // Http2Session object is about to be deleted, and it does not // belong to any linked list. - FREELIST_ZONE_GONE + GONE }; class Http2Session { @@ -285,7 +285,7 @@ private: std::unique_ptr dns_query_; int state_; int connection_check_state_; - int freelist_zone_; + FreelistZone freelist_zone_; // true if SETTINGS without ACK is received from peer. bool settings_recved_; // true if peer enables RFC 8441 CONNECT protocol.