#include <TransformInternal.h>
Inherits INKVConnInternal.

| Public Member Functions | |
| RangeTransform (ProxyMutex *mutex, RangeRecord *ranges, int num_fields, HTTPHdr *transform_resp, const char *content_type, int content_type_len, int64_t content_length) | |
| ~RangeTransform () | |
| int | handle_event (int event, void *edata) | 
| void | transform_to_range () | 
| void | add_boundary (bool end) | 
| void | add_sub_header (int index) | 
| void | change_response_header () | 
| void | calculate_output_cl () | 
| Data Fields | |
| MIOBuffer * | m_output_buf | 
| IOBufferReader * | m_output_reader | 
| HTTPHdr * | m_transform_resp | 
| VIO * | m_output_vio | 
| int64_t | m_range_content_length | 
| int | m_num_chars_for_cl | 
| int | m_num_range_fields | 
| int | m_current_range | 
| const char * | m_content_type | 
| int | m_content_type_len | 
| RangeRecord * | m_ranges | 
| int64_t | m_output_cl | 
| int64_t | m_done | 
Definition at line 120 of file TransformInternal.h.
| RangeTransform::RangeTransform | ( | ProxyMutex * | mutex, | |
| RangeRecord * | ranges, | |||
| int | num_fields, | |||
| HTTPHdr * | transform_resp, | |||
| const char * | content_type, | |||
| int | content_type_len, | |||
| int64_t | content_length | |||
| ) | 
Definition at line 741 of file Transform.cc.
References Debug, handle_event(), m_num_chars_for_cl, m_range_content_length, num_chars_for_int(), and SET_HANDLER.
| RangeTransform::~RangeTransform | ( | ) | 
Definition at line 761 of file Transform.cc.
References free_MIOBuffer(), and m_output_buf.
| void RangeTransform::add_boundary | ( | bool | end | ) | 
Definition at line 950 of file Transform.cc.
References bound, m_done, m_output_buf, and MIOBuffer::write().
Referenced by handle_event(), and transform_to_range().
| void RangeTransform::add_sub_header | ( | int | index | ) | 
Definition at line 968 of file Transform.cc.
References cont_range, cont_type, m_content_type, m_content_type_len, m_done, m_output_buf, m_output_cl, m_ranges, RANGE_NUMBERS_LENGTH, and MIOBuffer::write().
Referenced by handle_event(), and transform_to_range().
| void RangeTransform::calculate_output_cl | ( | ) | 
| void RangeTransform::change_response_header | ( | ) | 
Definition at line 996 of file Transform.cc.
References MIMEHdr::field_attach(), MIMEHdr::field_create(), MIMEHdr::field_delete(), MIMEHdr::field_find(), http_hdr_reason_lookup(), ink_release_assert, HdrHeapSDKHandle::m_heap, MIMEHdr::m_mime, m_num_range_fields, m_output_cl, m_ranges, m_transform_resp, MIME_FIELD_CONTENT_RANGE, MIME_FIELD_CONTENT_TYPE, MIME_LEN_CONTENT_RANGE, MIME_LEN_CONTENT_TYPE, range_type, HTTPHdr::reason_set(), HTTPHdr::status_set(), MIMEField::value_append(), and MIMEField::value_set().
Referenced by handle_event().
| int RangeTransform::handle_event | ( | int | event, | |
| void * | edata | |||
| ) | 
Reimplemented from INKVConnInternal.
Definition at line 772 of file Transform.cc.
References VIO::_cont, add_boundary(), add_sub_header(), MIOBuffer::alloc_reader(), change_response_header(), Debug, VConnection::do_io_shutdown(), VConnection::do_io_write(), INKContInternal::handle_event_count(), Continuation::handleEvent(), ink_assert, IO_SHUTDOWN_WRITE, INKContInternal::m_closed, m_current_range, INKContInternal::m_deletable, m_done, m_num_range_fields, m_output_buf, m_output_cl, m_output_reader, INKVConnInternal::m_output_vc, m_output_vio, INKVConnInternal::m_write_vio, VIO::mutex, MUTEX_TRY_LOCK, VIO::nbytes, VIO::ndone, new_empty_MIOBuffer, VIO::NONE, VIO::op, VIO::reenable(), INKVConnInternal::retry(), this_ethread(), transform_to_range(), VC_EVENT_ERROR, VC_EVENT_WRITE_COMPLETE, and VC_EVENT_WRITE_READY.
Referenced by RangeTransform().
| void RangeTransform::transform_to_range | ( | ) | 
Definition at line 836 of file Transform.cc.
References VIO::_cont, _RangeRecord::_done_byte, _RangeRecord::_end, _RangeRecord::_start, add_boundary(), add_sub_header(), IOBufferReader::consume(), Debug, VIO::get_reader(), Continuation::handleEvent(), m_current_range, m_done, m_num_range_fields, m_output_buf, m_output_vio, m_ranges, INKVConnInternal::m_write_vio, VIO::nbytes, VIO::ntodo(), IOBufferReader::read_avail(), VIO::reenable(), start, VC_EVENT_EOS, VC_EVENT_WRITE_COMPLETE, VC_EVENT_WRITE_READY, and MIOBuffer::write().
Referenced by handle_event().
| const char* RangeTransform::m_content_type | 
Definition at line 147 of file TransformInternal.h.
Referenced by add_sub_header().
Definition at line 148 of file TransformInternal.h.
Referenced by add_sub_header().
Definition at line 146 of file TransformInternal.h.
Referenced by handle_event(), and transform_to_range().
| int64_t RangeTransform::m_done | 
Definition at line 151 of file TransformInternal.h.
Referenced by add_boundary(), add_sub_header(), handle_event(), and transform_to_range().
Definition at line 144 of file TransformInternal.h.
Referenced by RangeTransform().
Definition at line 145 of file TransformInternal.h.
Referenced by change_response_header(), handle_event(), and transform_to_range().
Definition at line 136 of file TransformInternal.h.
Referenced by add_boundary(), add_sub_header(), handle_event(), transform_to_range(), and ~RangeTransform().
| int64_t RangeTransform::m_output_cl | 
Definition at line 150 of file TransformInternal.h.
Referenced by add_sub_header(), change_response_header(), and handle_event().
Definition at line 137 of file TransformInternal.h.
Referenced by handle_event().
Definition at line 142 of file TransformInternal.h.
Referenced by handle_event(), and transform_to_range().
Definition at line 143 of file TransformInternal.h.
Referenced by RangeTransform().
Definition at line 149 of file TransformInternal.h.
Referenced by add_sub_header(), change_response_header(), and transform_to_range().
Definition at line 141 of file TransformInternal.h.
Referenced by change_response_header().
 1.7.1
 1.7.1