#include <HttpConnectionEx.h>
|
| Ptr | getPtr () |
| |
| | HttpConnectionEx (const std::shared_ptr< HttpServiceImpl > &service, asio::io_context &io_context, const sese::net::IPAddress::Ptr &addr) |
| |
| virtual | ~HttpConnectionEx ()=default |
| |
| void | close (uint32_t id) |
| |
| virtual void | checkKeepalive ()=0 |
| |
| void | disponse () |
| |
| virtual void | writeBlocks (const std::vector< asio::const_buffer > &buffers, const std::function< void(const asio::error_code &code)> &callback)=0 |
| |
| virtual void | writeBlock (const void *buffer, size_t size, const std::function< void(const asio::error_code &code)> &callback)=0 |
| |
| virtual void | readBlock (char *buffer, size_t length, const std::function< void(const asio::error_code &code)> &callback)=0 |
| |
| void | readMagic () |
| |
| void | readFrameHeader () |
| |
| void | handleFrameHeader () |
| |
| uint8_t | handleSettingsFrame () |
| |
| void | handleWindowUpdate () |
| |
| void | handleRstStreamFrame () |
| |
| void | handleGoawayFrame () |
| |
| void | handleHeadersFrame () |
| |
| void | handleDataFrame () |
| |
| void | handlePriorityFrame () |
| |
| void | handlePingFrame () |
| |
| void | handleRequest (const HttpStream::Ptr &stream) |
| |
| void | handleWrite () |
| |
| void | writeSettingsFrame () |
| |
| void | writeAckFrame () |
| |
| void | writeGoawayFrame (uint32_t latest_stream_id, uint8_t flags, uint32_t error_code, const std::string &msg, bool once=false) |
| |
| void | writeRstStreamFrame (uint32_t stream_id, uint8_t flags, uint32_t error_code, bool once=false) |
| |
| void | writeWindowUpdateFrame (uint32_t stream_id, uint8_t flags, uint32_t window_size) |
| |
| bool | writeHeadersFrame (const HttpStream::Ptr &stream, bool verify_end_stream=true) |
| |
| bool | writeDataFrame4Body (const HttpStream::Ptr &stream) |
| |
| bool | writeDataFrame4SingleRange (const HttpStream::Ptr &stream) |
| |
| bool | writeDataFrame4Ranges (const HttpStream::Ptr &stream) |
| |
| void | writeSubheaderAndData (const HttpStream::Ptr &stream, const std::string &subheader, size_t remind) |
| |
◆ Ptr
◆ HttpConnectionEx()
◆ ~HttpConnectionEx()
| virtual sese::internal::service::http::HttpConnectionEx::~HttpConnectionEx |
( |
| ) |
|
|
virtualdefault |
◆ checkKeepalive()
| virtual void sese::internal::service::http::HttpConnectionEx::checkKeepalive |
( |
| ) |
|
|
pure virtual |
◆ close()
| void sese::internal::service::http::HttpConnectionEx::close |
( |
uint32_t | id | ) |
|
◆ disponse()
| void sese::internal::service::http::HttpConnectionEx::disponse |
( |
| ) |
|
◆ getPtr()
| Ptr sese::internal::service::http::HttpConnectionEx::getPtr |
( |
| ) |
|
|
inline |
◆ handleDataFrame()
| void sese::internal::service::http::HttpConnectionEx::handleDataFrame |
( |
| ) |
|
◆ handleFrameHeader()
| void sese::internal::service::http::HttpConnectionEx::handleFrameHeader |
( |
| ) |
|
◆ handleGoawayFrame()
| void sese::internal::service::http::HttpConnectionEx::handleGoawayFrame |
( |
| ) |
|
◆ handleHeadersFrame()
| void sese::internal::service::http::HttpConnectionEx::handleHeadersFrame |
( |
| ) |
|
◆ handlePingFrame()
| void sese::internal::service::http::HttpConnectionEx::handlePingFrame |
( |
| ) |
|
◆ handlePriorityFrame()
| void sese::internal::service::http::HttpConnectionEx::handlePriorityFrame |
( |
| ) |
|
◆ handleRequest()
| void sese::internal::service::http::HttpConnectionEx::handleRequest |
( |
const HttpStream::Ptr & | stream | ) |
|
◆ handleRstStreamFrame()
| void sese::internal::service::http::HttpConnectionEx::handleRstStreamFrame |
( |
| ) |
|
◆ handleSettingsFrame()
| uint8_t sese::internal::service::http::HttpConnectionEx::handleSettingsFrame |
( |
| ) |
|
◆ handleWindowUpdate()
| void sese::internal::service::http::HttpConnectionEx::handleWindowUpdate |
( |
| ) |
|
◆ handleWrite()
| void sese::internal::service::http::HttpConnectionEx::handleWrite |
( |
| ) |
|
◆ readBlock()
| virtual void sese::internal::service::http::HttpConnectionEx::readBlock |
( |
char * | buffer, |
|
|
size_t | length, |
|
|
const std::function< void(const asio::error_code &code)> & | callback ) |
|
pure virtual |
◆ readFrameHeader()
| void sese::internal::service::http::HttpConnectionEx::readFrameHeader |
( |
| ) |
|
◆ readMagic()
| void sese::internal::service::http::HttpConnectionEx::readMagic |
( |
| ) |
|
◆ writeAckFrame()
| void sese::internal::service::http::HttpConnectionEx::writeAckFrame |
( |
| ) |
|
◆ writeBlock()
| virtual void sese::internal::service::http::HttpConnectionEx::writeBlock |
( |
const void * | buffer, |
|
|
size_t | size, |
|
|
const std::function< void(const asio::error_code &code)> & | callback ) |
|
pure virtual |
◆ writeBlocks()
| virtual void sese::internal::service::http::HttpConnectionEx::writeBlocks |
( |
const std::vector< asio::const_buffer > & | buffers, |
|
|
const std::function< void(const asio::error_code &code)> & | callback ) |
|
pure virtual |
◆ writeDataFrame4Body()
| bool sese::internal::service::http::HttpConnectionEx::writeDataFrame4Body |
( |
const HttpStream::Ptr & | stream | ) |
|
◆ writeDataFrame4Ranges()
| bool sese::internal::service::http::HttpConnectionEx::writeDataFrame4Ranges |
( |
const HttpStream::Ptr & | stream | ) |
|
◆ writeDataFrame4SingleRange()
| bool sese::internal::service::http::HttpConnectionEx::writeDataFrame4SingleRange |
( |
const HttpStream::Ptr & | stream | ) |
|
◆ writeGoawayFrame()
| void sese::internal::service::http::HttpConnectionEx::writeGoawayFrame |
( |
uint32_t | latest_stream_id, |
|
|
uint8_t | flags, |
|
|
uint32_t | error_code, |
|
|
const std::string & | msg, |
|
|
bool | once = false ) |
◆ writeHeadersFrame()
| bool sese::internal::service::http::HttpConnectionEx::writeHeadersFrame |
( |
const HttpStream::Ptr & | stream, |
|
|
bool | verify_end_stream = true ) |
◆ writeRstStreamFrame()
| void sese::internal::service::http::HttpConnectionEx::writeRstStreamFrame |
( |
uint32_t | stream_id, |
|
|
uint8_t | flags, |
|
|
uint32_t | error_code, |
|
|
bool | once = false ) |
◆ writeSettingsFrame()
| void sese::internal::service::http::HttpConnectionEx::writeSettingsFrame |
( |
| ) |
|
◆ writeSubheaderAndData()
| void sese::internal::service::http::HttpConnectionEx::writeSubheaderAndData |
( |
const HttpStream::Ptr & | stream, |
|
|
const std::string & | subheader, |
|
|
size_t | remind ) |
Process the first DATA frame of the range
- Warning
- This function is highly coupled and intended for reuse
- Parameters
-
| stream | Operating stream |
| subheader | Range header |
| remind | Remaining window size after removing the range header |
- See also
- writeDataFrame4Ranges
References sese::net::http::FRAME_TYPE_DATA.
◆ writeWindowUpdateFrame()
| void sese::internal::service::http::HttpConnectionEx::writeWindowUpdateFrame |
( |
uint32_t | stream_id, |
|
|
uint8_t | flags, |
|
|
uint32_t | window_size ) |
◆ accept_stream_count
| uint32_t sese::internal::service::http::HttpConnectionEx::accept_stream_count = 0 |
◆ asio_buffers
| std::vector<asio::const_buffer> sese::internal::service::http::HttpConnectionEx::asio_buffers |
◆ closed_streams
| std::set<uint32_t> sese::internal::service::http::HttpConnectionEx::closed_streams |
◆ enable_push
| uint32_t sese::internal::service::http::HttpConnectionEx::enable_push = 0 |
◆ endpoint_init_window_size
| uint32_t sese::internal::service::http::HttpConnectionEx::endpoint_init_window_size = 65535 |
◆ endpoint_max_frame_size
| uint32_t sese::internal::service::http::HttpConnectionEx::endpoint_max_frame_size = 16384 |
◆ endpoint_window_size
| uint32_t sese::internal::service::http::HttpConnectionEx::endpoint_window_size = 65535 |
◆ expect_ack
| bool sese::internal::service::http::HttpConnectionEx::expect_ack = false |
◆ frame
◆ HEADER_TABLE_SIZE
| uint32_t sese::internal::service::http::HttpConnectionEx::HEADER_TABLE_SIZE = 8192 |
|
staticconstexpr |
◆ header_table_size
| uint32_t sese::internal::service::http::HttpConnectionEx::header_table_size = 4096 |
◆ INIT_WINDOW_SIZE
| uint32_t sese::internal::service::http::HttpConnectionEx::INIT_WINDOW_SIZE = 65535 |
|
staticconstexpr |
◆ is_read
| bool sese::internal::service::http::HttpConnectionEx::is_read = false |
◆ is_write
| bool sese::internal::service::http::HttpConnectionEx::is_write = false |
◆ keepalive
| bool sese::internal::service::http::HttpConnectionEx::keepalive = false |
◆ latest_stream_ident
| uint32_t sese::internal::service::http::HttpConnectionEx::latest_stream_ident = 0 |
◆ max_concurrent_stream
| uint32_t sese::internal::service::http::HttpConnectionEx::max_concurrent_stream = 0 |
◆ MAX_CONCURRENT_STREAMS
| uint32_t sese::internal::service::http::HttpConnectionEx::MAX_CONCURRENT_STREAMS = 16 |
|
staticconstexpr |
◆ MAX_FRAME_SIZE
| uint32_t sese::internal::service::http::HttpConnectionEx::MAX_FRAME_SIZE = 16384 |
|
staticconstexpr |
◆ max_frame_size
| uint32_t sese::internal::service::http::HttpConnectionEx::max_frame_size = 16384 |
◆ max_header_list_size
| uint32_t sese::internal::service::http::HttpConnectionEx::max_header_list_size = 0 |
◆ pre_vector
◆ remote_address
◆ req_dynamic_table
◆ resp_dynamic_table
◆ service
| std::weak_ptr<HttpServiceImpl> sese::internal::service::http::HttpConnectionEx::service |
◆ streams
| std::map<uint32_t, HttpStream::Ptr> sese::internal::service::http::HttpConnectionEx::streams |
◆ temp_buffer
| char sese::internal::service::http::HttpConnectionEx::temp_buffer[MAX_FRAME_SIZE] {} |
◆ timer
| asio::system_timer sese::internal::service::http::HttpConnectionEx::timer |
◆ vector
◆ window_size
| uint32_t sese::internal::service::http::HttpConnectionEx::window_size = 65535 |
The documentation for this struct was generated from the following files: