Skip to content

Commit

Permalink
Merge pull request #23 from mrozigor/connection-improvements
Browse files Browse the repository at this point in the history
Connection improvements
  • Loading branch information
The-EDev authored Oct 21, 2020
2 parents 79068ba + 179114b commit 993530d
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/crow/app.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ namespace crow
{
use_ssl_ = true;
ssl_context_.set_verify_mode(boost::asio::ssl::verify_peer);
ssl_context_.set_verify_mode(boost::asio::ssl::verify_client_once);
ssl_context_.use_certificate_file(crt_filename, ssl_context_t::pem);
ssl_context_.use_private_key_file(key_filename, ssl_context_t::pem);
ssl_context_.set_options(
Expand All @@ -173,6 +174,7 @@ namespace crow
{
use_ssl_ = true;
ssl_context_.set_verify_mode(boost::asio::ssl::verify_peer);
ssl_context_.set_verify_mode(boost::asio::ssl::verify_client_once);
ssl_context_.load_verify_file(pem_filename);
ssl_context_.set_options(
boost::asio::ssl::context::default_workarounds
Expand Down
3 changes: 3 additions & 0 deletions include/crow/http_connection.h
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,7 @@ namespace crow
{
cancel_deadline_timer();
parser_.done();
adaptor_.shutdown_read();
adaptor_.close();
is_reading = false;
CROW_LOG_DEBUG << this << " from read(1)";
Expand Down Expand Up @@ -558,6 +559,7 @@ namespace crow
{
if (close_connection_)
{
adaptor_.shutdown_write();
adaptor_.close();
CROW_LOG_DEBUG << this << " from write(1)";
check_destroy();
Expand Down Expand Up @@ -597,6 +599,7 @@ namespace crow
{
return;
}
adaptor_.shutdown_readwrite();
adaptor_.close();
});
CROW_LOG_DEBUG << this << " timer added: " << timer_cancel_key_.first << ' ' << timer_cancel_key_.second;
Expand Down
36 changes: 36 additions & 0 deletions include/crow/socket_adaptors.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,24 @@ namespace crow
socket_.close(ec);
}

void shutdown_readwrite()
{
boost::system::error_code ec;
socket_.shutdown(boost::asio::socket_base::shutdown_type::shutdown_both, ec);
}

void shutdown_write()
{
boost::system::error_code ec;
socket_.shutdown(boost::asio::socket_base::shutdown_type::shutdown_send, ec);
}

void shutdown_read()
{
boost::system::error_code ec;
socket_.shutdown(boost::asio::socket_base::shutdown_type::shutdown_receive, ec);
}

template <typename F>
void start(F f)
{
Expand Down Expand Up @@ -99,6 +117,24 @@ namespace crow
raw_socket().close(ec);
}

void shutdown_readwrite()
{
boost::system::error_code ec;
raw_socket().shutdown(boost::asio::socket_base::shutdown_type::shutdown_both, ec);
}

void shutdown_write()
{
boost::system::error_code ec;
raw_socket().shutdown(boost::asio::socket_base::shutdown_type::shutdown_send, ec);
}

void shutdown_read()
{
boost::system::error_code ec;
raw_socket().shutdown(boost::asio::socket_base::shutdown_type::shutdown_receive, ec);
}

boost::asio::io_service& get_io_service()
{
return GET_IO_SERVICE(raw_socket());
Expand Down

0 comments on commit 993530d

Please sign in to comment.