From 02d834e9bb58ead21e0b193a6e2188a370f1c9da Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Fri, 12 Sep 2014 14:10:07 -0700 Subject: [PATCH] Add is_short_read() --- beast/asio/ssl.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 beast/asio/ssl.h diff --git a/beast/asio/ssl.h b/beast/asio/ssl.h new file mode 100644 index 00000000..b9cff3fa --- /dev/null +++ b/beast/asio/ssl.h @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +/* + This file is part of Beast: https://github.com/vinniefalco/Beast + Copyright 2013, Vinnie Falco + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +//============================================================================== + +#ifndef BEAST_ASIO_SSL_H_INCLUDED +#define BEAST_ASIO_SSL_H_INCLUDED + +#include +#include + +namespace beast { +namespace asio { + +/** Returns `true` if the error code is a SSL "short read." */ +inline +bool +is_short_read (boost::system::error_code const& ec) +{ + return (ec.category() == boost::asio::error::get_ssl_category()) + && (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ); +} + +} +} + +#endif