#include <HttpTunnel.h>
Definition at line 87 of file HttpTunnel.h.
Definition at line 106 of file HttpTunnel.h.
Definition at line 89 of file HttpTunnel.h.
ChunkedHandler::ChunkedHandler | ( | ) |
Definition at line 61 of file HttpTunnel.cc.
void ChunkedHandler::clear | ( | void | ) |
Definition at line 114 of file HttpTunnel.cc.
References action, ACTION_DECHUNK, ACTION_DOCHUNK, ACTION_PASSTHRU, chunked_buffer, dechunked_buffer, and free_MIOBuffer().
Referenced by FetchSM::cleanUp().
bool ChunkedHandler::generate_chunked_content | ( | ) |
Definition at line 330 of file HttpTunnel.cc.
References CHUNK_HEADER_FMT, CHUNK_WRITE_DONE, chunked_buffer, chunked_size, IOBufferReader::consume(), Debug, dechunked_reader, HTTP_TUNNEL_EVENT_PRECOMPLETE, ink_assert, last_server_event, max_chunk_header, max_chunk_header_len, max_chunk_size, MIN, IOBufferReader::read_avail(), state, VC_EVENT_EOS, VC_EVENT_READ_COMPLETE, and MIOBuffer::write().
Referenced by HttpTunnel::producer_handler_dechunked().
void ChunkedHandler::init | ( | IOBufferReader * | buffer_in, | |
HttpTunnelProducer * | p | |||
) |
Definition at line 70 of file HttpTunnel.cc.
References ACTION_DECHUNK, ACTION_DOCHUNK, ACTION_PASSTHRU, HttpTunnelProducer::do_chunking, HttpTunnelProducer::do_dechunking, and init_by_action().
void ChunkedHandler::init_by_action | ( | IOBufferReader * | buffer_in, | |
Action | action | |||
) |
Definition at line 82 of file HttpTunnel.cc.
References ACTION_DECHUNK, ACTION_DOCHUNK, ACTION_PASSTHRU, BUFFER_SIZE_INDEX_256, bytes_left, CHUNK_IOBUFFER_SIZE_INDEX, chunked_buffer, chunked_reader, chunked_size, MIOBuffer::clone_reader(), cur_chunk_size, dechunked_buffer, dechunked_reader, dechunked_size, ink_release_assert, IOBufferReader::mbuf, min_block_transfer_bytes, new_MIOBuffer, num_digits, running_sum, truncation, and MIOBuffer::water_mark.
Referenced by init().
bool ChunkedHandler::process_chunked_content | ( | ) |
Definition at line 303 of file HttpTunnel.cc.
References CHUNK_FLOW_CONTROL, CHUNK_READ_CHUNK, CHUNK_READ_DONE, CHUNK_READ_ERROR, CHUNK_READ_SIZE, CHUNK_READ_SIZE_CRLF, CHUNK_READ_SIZE_START, CHUNK_READ_TRAILER_BLANK, CHUNK_READ_TRAILER_CR, CHUNK_READ_TRAILER_LINE, chunked_reader, ink_release_assert, IOBufferReader::is_read_avail_more_than(), and state.
Referenced by HttpTunnel::producer_handler_chunked().
void ChunkedHandler::set_max_chunk_size | ( | int64_t | size | ) |
Set the max chunk size.
If size is zero it is set to DEFAULT_MAX_CHUNK_SIZE
.
Definition at line 132 of file HttpTunnel.cc.
References CHUNK_HEADER_FMT, DEFAULT_MAX_CHUNK_SIZE, max_chunk_header, max_chunk_header_len, and max_chunk_size.
Referenced by HttpTunnel::set_producer_chunking_size().
Definition at line 112 of file HttpTunnel.h.
Referenced by clear().
int64_t ChunkedHandler::bytes_left |
Definition at line 127 of file HttpTunnel.h.
Referenced by init_by_action().
Definition at line 119 of file HttpTunnel.h.
Referenced by clear(), HttpTunnel::deallocate_buffers(), generate_chunked_content(), and init_by_action().
Definition at line 114 of file HttpTunnel.h.
Referenced by HttpTunnelProducer::backlog(), init_by_action(), and process_chunked_content().
int64_t ChunkedHandler::chunked_size |
Definition at line 120 of file HttpTunnel.h.
Referenced by generate_chunked_content(), and init_by_action().
int64_t ChunkedHandler::cur_chunk_size |
Definition at line 126 of file HttpTunnel.h.
Referenced by init_by_action().
Definition at line 115 of file HttpTunnel.h.
Referenced by clear(), HttpTunnel::deallocate_buffers(), and init_by_action().
Definition at line 118 of file HttpTunnel.h.
Referenced by FetchSM::ext_read_data(), generate_chunked_content(), FetchSM::get_info_from_buffer(), and init_by_action().
int64_t ChunkedHandler::dechunked_size |
Definition at line 116 of file HttpTunnel.h.
Referenced by init_by_action().
int const ChunkedHandler::DEFAULT_MAX_CHUNK_SIZE = 4096 [static] |
Definition at line 104 of file HttpTunnel.h.
Referenced by set_max_chunk_size().
Definition at line 128 of file HttpTunnel.h.
Referenced by generate_chunked_content(), HttpTunnel::producer_handler_chunked(), and HttpTunnel::producer_handler_dechunked().
char ChunkedHandler::max_chunk_header[16] |
Caching members to avoid using printf on every chunk.
It holds the header for a maximal sized chunk which will cover almost all output chunks.
Definition at line 142 of file HttpTunnel.h.
Referenced by generate_chunked_content(), and set_max_chunk_size().
Definition at line 143 of file HttpTunnel.h.
Referenced by HttpTunnel::deallocate_buffers(), generate_chunked_content(), and set_max_chunk_size().
int64_t ChunkedHandler::max_chunk_size |
The maximum chunk size.
This is the preferred size as well, used whenever possible.
Definition at line 138 of file HttpTunnel.h.
Referenced by generate_chunked_content(), and set_max_chunk_size().
Definition at line 132 of file HttpTunnel.h.
Referenced by init_by_action().
Definition at line 131 of file HttpTunnel.h.
Referenced by init_by_action().
int64_t ChunkedHandler::skip_bytes |
Definition at line 123 of file HttpTunnel.h.
Referenced by HttpTunnel::set_producer_chunking_action().
Definition at line 125 of file HttpTunnel.h.
Referenced by generate_chunked_content(), FetchSM::get_info_from_buffer(), process_chunked_content(), HttpTunnel::producer_handler_chunked(), and HttpTunnel::set_producer_chunking_action().
Definition at line 122 of file HttpTunnel.h.
Referenced by init_by_action(), HttpSM::is_http_server_eos_truncation(), HttpTunnel::producer_handler_chunked(), HttpSM::tunnel_handler_post_ua(), and HttpSM::tunnel_handler_server().