libnghttp2_asio: Move common types and functions to nghttp2::asio_http2 ns
This commit is contained in:
parent
88d7abcc23
commit
4f0d03b4b9
|
@ -33,6 +33,34 @@ namespace nghttp2 {
|
|||
|
||||
namespace asio_http2 {
|
||||
|
||||
channel::channel()
|
||||
: impl_(util::make_unique<channel_impl>())
|
||||
{}
|
||||
|
||||
void channel::post(void_cb cb)
|
||||
{
|
||||
impl_->post(std::move(cb));
|
||||
}
|
||||
|
||||
channel_impl& channel::impl()
|
||||
{
|
||||
return *impl_;
|
||||
}
|
||||
|
||||
channel_impl::channel_impl()
|
||||
: strand_(nullptr)
|
||||
{}
|
||||
|
||||
void channel_impl::post(void_cb cb)
|
||||
{
|
||||
strand_->post(std::move(cb));
|
||||
}
|
||||
|
||||
void channel_impl::strand(boost::asio::io_service::strand *strand)
|
||||
{
|
||||
strand_ = strand;
|
||||
}
|
||||
|
||||
namespace server {
|
||||
|
||||
extern std::shared_ptr<std::string> cached_date;
|
||||
|
@ -402,34 +430,6 @@ std::pair<ssize_t, bool> response_impl::call_read
|
|||
return std::make_pair(0, true);
|
||||
}
|
||||
|
||||
channel::channel()
|
||||
: impl_(util::make_unique<channel_impl>())
|
||||
{}
|
||||
|
||||
void channel::post(void_cb cb)
|
||||
{
|
||||
impl_->post(std::move(cb));
|
||||
}
|
||||
|
||||
channel_impl& channel::impl()
|
||||
{
|
||||
return *impl_;
|
||||
}
|
||||
|
||||
channel_impl::channel_impl()
|
||||
: strand_(nullptr)
|
||||
{}
|
||||
|
||||
void channel_impl::post(void_cb cb)
|
||||
{
|
||||
strand_->post(std::move(cb));
|
||||
}
|
||||
|
||||
void channel_impl::strand(boost::asio::io_service::strand *strand)
|
||||
{
|
||||
strand_ = strand;
|
||||
}
|
||||
|
||||
http2_stream::http2_stream(int32_t stream_id)
|
||||
: request_(std::make_shared<request>()),
|
||||
response_(std::make_shared<response>()),
|
||||
|
|
|
@ -40,6 +40,16 @@
|
|||
|
||||
namespace nghttp2 {
|
||||
namespace asio_http2 {
|
||||
|
||||
class channel_impl {
|
||||
public:
|
||||
channel_impl();
|
||||
void post(void_cb cb);
|
||||
void strand(boost::asio::io_service::strand *strand);
|
||||
private:
|
||||
boost::asio::io_service::strand *strand_;
|
||||
};
|
||||
|
||||
namespace server {
|
||||
|
||||
class http2_handler;
|
||||
|
@ -117,15 +127,6 @@ private:
|
|||
bool started_;
|
||||
};
|
||||
|
||||
class channel_impl {
|
||||
public:
|
||||
channel_impl();
|
||||
void post(void_cb cb);
|
||||
void strand(boost::asio::io_service::strand *strand);
|
||||
private:
|
||||
boost::asio::io_service::strand *strand_;
|
||||
};
|
||||
|
||||
class http2_stream {
|
||||
public:
|
||||
http2_stream(int32_t stream_id);
|
||||
|
|
|
@ -153,6 +153,8 @@ void http2_impl::num_concurrent_tasks(size_t num_concurrent_tasks)
|
|||
num_concurrent_tasks_ = num_concurrent_tasks;
|
||||
}
|
||||
|
||||
} // namespace server
|
||||
|
||||
template<typename T, typename F>
|
||||
std::shared_ptr<util::Defer<T, F>> defer_shared(T&& t, F f)
|
||||
{
|
||||
|
@ -206,8 +208,6 @@ std::string http_date(time_t t)
|
|||
return util::http_date(t);
|
||||
}
|
||||
|
||||
} // namespace server
|
||||
|
||||
} // namespace asio_http2
|
||||
|
||||
} // namespace nghttp2
|
||||
|
|
|
@ -40,11 +40,6 @@ struct header {
|
|||
std::string value;
|
||||
};
|
||||
|
||||
namespace server {
|
||||
|
||||
class request_impl;
|
||||
class response_impl;
|
||||
|
||||
typedef std::function<void(const uint8_t*, std::size_t)> data_cb;
|
||||
typedef std::function<void(void)> void_cb;
|
||||
|
||||
|
@ -83,6 +78,11 @@ private:
|
|||
|
||||
typedef std::function<void(channel&)> thread_cb;
|
||||
|
||||
namespace server {
|
||||
|
||||
class request_impl;
|
||||
class response_impl;
|
||||
|
||||
class request {
|
||||
public:
|
||||
// Application must not call this directly.
|
||||
|
@ -212,6 +212,8 @@ private:
|
|||
std::unique_ptr<http2_impl> impl_;
|
||||
};
|
||||
|
||||
} // namespace server
|
||||
|
||||
// Convenient function to create function to read file denoted by
|
||||
// |path|. This can be passed to response::end().
|
||||
read_cb file_reader(const std::string& path);
|
||||
|
@ -233,8 +235,6 @@ std::string percent_decode(const std::string& s);
|
|||
// Returns HTTP date representation of current posix time |t|.
|
||||
std::string http_date(time_t t);
|
||||
|
||||
} // namespace server
|
||||
|
||||
} // namespace asio_http2
|
||||
|
||||
} // namespace nghttp2
|
||||
|
|
Loading…
Reference in New Issue