mirror of
https://github.com/boostorg/beast.git
synced 2025-07-30 12:57:31 +02:00
Use if
statement in basic_stream:
An `if` statement is cheaper to instantiate without additional runtime cost when optimizations are enabled. Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
This commit is contained in:
@ -3,6 +3,7 @@ Version 257:
|
|||||||
* Add b2 features for compile-time options used in testing
|
* Add b2 features for compile-time options used in testing
|
||||||
* Remove redundant dependencies in http/server/fast example
|
* Remove redundant dependencies in http/server/fast example
|
||||||
* Remove experimental/unit_test/thread.hpp
|
* Remove experimental/unit_test/thread.hpp
|
||||||
|
* Use `if` statement in basic_stream::transfer_op
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -219,63 +219,35 @@ class transfer_op
|
|||||||
|
|
||||||
using is_read = std::integral_constant<bool, isRead>;
|
using is_read = std::integral_constant<bool, isRead>;
|
||||||
|
|
||||||
op_state&
|
|
||||||
state(std::true_type)
|
|
||||||
{
|
|
||||||
return impl_->read;
|
|
||||||
}
|
|
||||||
|
|
||||||
op_state&
|
|
||||||
state(std::false_type)
|
|
||||||
{
|
|
||||||
return impl_->write;
|
|
||||||
}
|
|
||||||
|
|
||||||
op_state&
|
op_state&
|
||||||
state()
|
state()
|
||||||
{
|
{
|
||||||
return state(
|
if (isRead)
|
||||||
std::integral_constant<bool, isRead>{});
|
return impl_->read;
|
||||||
}
|
else
|
||||||
|
return impl_->write;
|
||||||
std::size_t
|
|
||||||
available_bytes(std::true_type)
|
|
||||||
{
|
|
||||||
return rate_policy_access::
|
|
||||||
available_read_bytes(impl_->policy());
|
|
||||||
}
|
|
||||||
|
|
||||||
std::size_t
|
|
||||||
available_bytes(std::false_type)
|
|
||||||
{
|
|
||||||
return rate_policy_access::
|
|
||||||
available_write_bytes(impl_->policy());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::size_t
|
std::size_t
|
||||||
available_bytes()
|
available_bytes()
|
||||||
{
|
{
|
||||||
return available_bytes(is_read{});
|
if (isRead)
|
||||||
}
|
return rate_policy_access::
|
||||||
|
available_read_bytes(impl_->policy());
|
||||||
void
|
else
|
||||||
transfer_bytes(std::size_t n, std::true_type)
|
return rate_policy_access::
|
||||||
{
|
available_write_bytes(impl_->policy());
|
||||||
rate_policy_access::
|
|
||||||
transfer_read_bytes(impl_->policy(), n);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
transfer_bytes(std::size_t n, std::false_type)
|
|
||||||
{
|
|
||||||
rate_policy_access::
|
|
||||||
transfer_write_bytes(impl_->policy(), n);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
transfer_bytes(std::size_t n)
|
transfer_bytes(std::size_t n)
|
||||||
{
|
{
|
||||||
transfer_bytes(n, is_read{});
|
if (isRead)
|
||||||
|
rate_policy_access::
|
||||||
|
transfer_read_bytes(impl_->policy(), n);
|
||||||
|
else
|
||||||
|
rate_policy_access::
|
||||||
|
transfer_write_bytes(impl_->policy(), n);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Reference in New Issue
Block a user