#include <P_ClusterHandler.h>
Inherits Continuation.
Definition at line 331 of file P_ClusterHandler.h.
anonymous enum |
READ_START | |
READ_HEADER | |
READ_AWAIT_HEADER | |
READ_SETUP_DESCRIPTOR | |
READ_DESCRIPTOR | |
READ_AWAIT_DESCRIPTOR | |
READ_SETUP_DATA | |
READ_DATA | |
READ_AWAIT_DATA | |
READ_POST_COMPLETE | |
READ_COMPLETE |
Definition at line 366 of file P_ClusterHandler.h.
anonymous enum |
WRITE_START | |
WRITE_SETUP | |
WRITE_INITIATE | |
WRITE_AWAIT_COMPLETION | |
WRITE_POST_COMPLETE | |
WRITE_COMPLETE |
Definition at line 381 of file P_ClusterHandler.h.
ClusterState::ClusterState | ( | ClusterHandler * | c, | |
bool | read_chan | |||
) |
Definition at line 218 of file ClusterHandlerBase.cc.
References align_pointer_forward(), BUFFER_SIZE_FOR_XMALLOC, CONTROL_DATA, ClusterMsg::descriptor, doIO_read_event(), doIO_write_event(), HRTIME_SECONDS, ClusterMsg::iob_descriptor_block, iob_iov, iov, last_time, MAX_TCOUNT, mbuf, msg, Continuation::mutex, new_empty_MIOBuffer, new_IOBufferBlock, new_IOBufferData, new_ProxyMutex(), read_channel, SET_HANDLER, start_time, and state.
ClusterState::~ClusterState | ( | ) |
Definition at line 282 of file ClusterHandlerBase.cc.
References block, ClusterMsg::descriptor, free_empty_MIOBuffer(), ClusterMsg::iob_descriptor_block, iob_iov, iov, mbuf, msg, and Continuation::mutex.
void ClusterState::build_do_io_vector | ( | ) |
Definition at line 302 of file ClusterHandlerBase.cc.
References MIOBuffer::_writer, block, bytes_IOBufferBlockList(), MIOBuffer::clear(), ink_assert, ink_release_assert, iov, mbuf, n_iov, IOBufferBlock::next, read_channel, and to_do.
Referenced by doIO().
int ClusterState::doIO | ( | ) |
Definition at line 357 of file ClusterHandlerBase.cc.
References MIOBuffer::_writer, MIOBuffer::alloc_reader(), IOBufferReader::block, VIO::buffer, build_do_io_vector(), bytes_xfered, ch, MIOBuffer::current_write_avail(), did, NetVConnection::do_io_read(), NetVConnection::do_io_write(), ink_assert, ink_release_assert, io_complete, io_complete_event, last_ndone, mbuf, Continuation::mutex, MUTEX_TRY_LOCK, VIO::nbytes, VIO::ndone, ClusterHandler::net_vc, IOBufferReader::read_avail(), read_channel, MIOBufferAccessor::reader(), REENABLE_IO, this_ethread(), to_do, v, VC_EVENT_READ_READY, VC_EVENT_WRITE_READY, and MIOBufferAccessor::writer().
Referenced by ClusterHandler::process_read(), ClusterHandler::process_write(), and ClusterHandler::startClusterEvent().
int ClusterState::doIO_read_event | ( | int | event, | |
void * | d | |||
) |
Definition at line 432 of file ClusterHandlerBase.cc.
References bytes_xfered, did, ink_assert, ink_release_assert, io_complete, io_complete_event, IOComplete(), last_ndone, VIO::nbytes, VIO::ndone, to_do, total_bytes_xfered, v, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_READ_COMPLETE, and VC_EVENT_READ_READY.
Referenced by ClusterState().
int ClusterState::doIO_write_event | ( | int | event, | |
void * | d | |||
) |
Definition at line 483 of file ClusterHandlerBase.cc.
References bytes_xfered, did, ink_assert, ink_release_assert, io_complete, io_complete_event, IOComplete(), last_ndone, VIO::nbytes, VIO::ndone, VIO::reenable(), VIO::reenable_re(), to_do, total_bytes_xfered, v, VC_EVENT_ACTIVE_TIMEOUT, VC_EVENT_EOS, VC_EVENT_ERROR, VC_EVENT_INACTIVITY_TIMEOUT, VC_EVENT_WRITE_COMPLETE, and VC_EVENT_WRITE_READY.
Referenced by ClusterState().
IOBufferData* ClusterState::get_data | ( | ) |
void ClusterState::IOComplete | ( | ) |
Definition at line 552 of file ClusterHandlerBase.cc.
References ch, do_iodone_event, ET_CLUSTER, EVENT_IMMEDIATE, eventProcessor, Continuation::handleEvent(), Continuation::mutex, MUTEX_TRY_LOCK, EventProcessor::schedule_imm_signal(), and this_ethread().
Referenced by doIO_read_event(), and doIO_write_event().
Ptr<IOBufferBlock> ClusterState::block[MAX_TCOUNT] |
Definition at line 361 of file P_ClusterHandler.h.
Referenced by ClusterHandler::build_data_vector(), build_do_io_vector(), ClusterHandler::build_initial_vector(), and ~ClusterState().
char* ClusterState::byte_bank |
Definition at line 352 of file P_ClusterHandler.h.
Definition at line 354 of file P_ClusterHandler.h.
Definition at line 345 of file P_ClusterHandler.h.
Referenced by doIO(), doIO_read_event(), doIO_write_event(), ClusterHandler::get_read_locks(), ClusterHandler::process_read(), ClusterHandler::process_write(), and ClusterHandler::update_channels_partial_read().
Definition at line 333 of file P_ClusterHandler.h.
Referenced by doIO(), and IOComplete().
Definition at line 340 of file P_ClusterHandler.h.
Referenced by ClusterHandler::build_data_vector(), ClusterHandler::build_initial_vector(), doIO(), doIO_read_event(), doIO_write_event(), ClusterHandler::get_read_locks(), ClusterHandler::process_read(), ClusterHandler::startClusterEvent(), and ClusterHandler::update_channels_partial_read().
Definition at line 335 of file P_ClusterHandler.h.
Referenced by IOComplete(), and ClusterHandler::startClusterEvent().
Definition at line 342 of file P_ClusterHandler.h.
Referenced by doIO(), doIO_read_event(), doIO_write_event(), ClusterHandler::machine_down(), ClusterHandler::process_read(), ClusterHandler::process_write(), and ClusterHandler::startClusterEvent().
Definition at line 343 of file P_ClusterHandler.h.
Referenced by doIO(), doIO_read_event(), doIO_write_event(), and ClusterHandler::startClusterEvent().
Definition at line 349 of file P_ClusterHandler.h.
Referenced by ClusterState(), and ~ClusterState().
Definition at line 348 of file P_ClusterHandler.h.
Referenced by ClusterHandler::build_data_vector(), build_do_io_vector(), ClusterHandler::build_initial_vector(), ClusterState(), ClusterHandler::get_read_locks(), ClusterHandler::update_channels_partial_read(), and ~ClusterState().
Definition at line 346 of file P_ClusterHandler.h.
Referenced by doIO(), doIO_read_event(), and doIO_write_event().
Definition at line 358 of file P_ClusterHandler.h.
Referenced by ClusterState(), and ClusterHandler::process_write().
class MIOBuffer* ClusterState::mbuf |
Definition at line 362 of file P_ClusterHandler.h.
Referenced by build_do_io_vector(), ClusterState(), doIO(), and ~ClusterState().
Definition at line 356 of file P_ClusterHandler.h.
Definition at line 357 of file P_ClusterHandler.h.
Definition at line 337 of file P_ClusterHandler.h.
Referenced by ClusterHandler::add_small_controlmsg_descriptors(), ClusterHandler::build_controlmsg_descriptors(), ClusterHandler::build_data_vector(), ClusterHandler::build_freespace_descriptors(), ClusterHandler::build_initial_vector(), ClusterHandler::build_write_descriptors(), ClusterState(), ClusterHandler::dump_read_msg(), ClusterHandler::dump_write_msg(), ClusterHandler::free_locks(), ClusterHandler::get_read_locks(), ClusterHandler::get_write_locks(), ClusterHandler::process_freespace_msgs(), ClusterHandler::process_large_control_msgs(), ClusterHandler::process_read(), ClusterHandler::process_set_data_msgs(), ClusterHandler::process_small_control_msgs(), ClusterHandler::process_write(), ClusterHandler::steal_thread(), ClusterHandler::swap_descriptor_bytes(), ClusterHandler::update_channels_partial_read(), ClusterHandler::update_channels_read(), ClusterHandler::update_channels_written(), and ~ClusterState().
Definition at line 353 of file P_ClusterHandler.h.
Definition at line 336 of file P_ClusterHandler.h.
Definition at line 341 of file P_ClusterHandler.h.
Referenced by ClusterHandler::build_data_vector(), build_do_io_vector(), ClusterHandler::build_initial_vector(), ClusterHandler::get_read_locks(), and ClusterHandler::update_channels_partial_read().
Definition at line 334 of file P_ClusterHandler.h.
Referenced by build_do_io_vector(), ClusterState(), and doIO().
enum { ... } ClusterState::read_state_t |
unsigned int ClusterState::sequence_number |
Definition at line 338 of file P_ClusterHandler.h.
Referenced by ClusterHandler::dump_read_msg(), ClusterHandler::dump_write_msg(), ClusterHandler::process_read(), and ClusterHandler::process_write().
Definition at line 359 of file P_ClusterHandler.h.
Referenced by ClusterState(), and ClusterHandler::process_read().
Definition at line 363 of file P_ClusterHandler.h.
Referenced by ClusterState(), ClusterHandler::process_read(), and ClusterHandler::process_write().
Definition at line 339 of file P_ClusterHandler.h.
Referenced by ClusterHandler::build_data_vector(), build_do_io_vector(), ClusterHandler::build_initial_vector(), doIO(), doIO_read_event(), doIO_write_event(), ClusterHandler::dump_write_msg(), ClusterHandler::process_read(), ClusterHandler::process_write(), and ClusterHandler::steal_thread().
Definition at line 347 of file P_ClusterHandler.h.
Referenced by doIO_read_event(), and doIO_write_event().
Definition at line 344 of file P_ClusterHandler.h.
Referenced by doIO(), doIO_read_event(), and doIO_write_event().
enum { ... } ClusterState::write_state_t |