#include <PluginVC.h>
Inherits Continuation.
Public Member Functions | |
PluginVCCore () | |
~PluginVCCore () | |
void | init () |
void | set_accept_cont (Continuation *c) |
int | state_send_accept (int event, void *data) |
int | state_send_accept_failed (int event, void *data) |
void | attempt_delete () |
PluginVC * | connect () |
Action * | connect_re (Continuation *c) |
void | kill_no_connect () |
void | set_active_addr (in_addr_t ip, int port) |
Set the active address. | |
void | set_active_addr (sockaddr const *ip) |
Set the active address and port. | |
void | set_passive_addr (in_addr_t ip, int port) |
Set the passive address. | |
void | set_passive_addr (sockaddr const *ip) |
Set the passive address. | |
void | set_active_data (void *data) |
void | set_passive_data (void *data) |
void | set_transparent (bool passive_side, bool active_side) |
void | set_plugin_id (int64_t id) |
Set the plugin ID for the internal VCs. | |
void | set_plugin_tag (char const *tag) |
Set the plugin tag for the internal VCs. | |
Static Public Member Functions | |
static PluginVCCore * | alloc () |
Data Fields | |
PluginVC | active_vc |
PluginVC | passive_vc |
Friends | |
class | PluginVC |
Definition at line 173 of file PluginVC.h.
PluginVCCore::PluginVCCore | ( | ) | [inline] |
Definition at line 251 of file PluginVC.h.
PluginVCCore::~PluginVCCore | ( | ) |
Definition at line 978 of file PluginVC.cc.
PluginVCCore * PluginVCCore::alloc | ( | ) | [static] |
Definition at line 983 of file PluginVC.cc.
References init().
Referenced by PVCTestDriver::run_next_test(), TSHttpConnectTransparent(), TSHttpConnectWithPluginId(), TSHttpTxnIntercept(), and TSHttpTxnServerIntercept().
void PluginVCCore::attempt_delete | ( | ) |
Definition at line 1134 of file PluginVC.cc.
References active_vc, EVENT_IMMEDIATE, passive_vc, and state_send_accept_failed().
PluginVC * PluginVCCore::connect | ( | ) |
Definition at line 1056 of file PluginVC.cc.
References active_vc, EVENT_IMMEDIATE, and state_send_accept().
Referenced by PVCTestDriver::run_next_test(), TSHttpConnectTransparent(), and TSHttpConnectWithPluginId().
Action * PluginVCCore::connect_re | ( | Continuation * | c | ) |
Definition at line 1071 of file PluginVC.cc.
References active_vc, EVENT_IMMEDIATE, Continuation::handleEvent(), Continuation::mutex, MUTEX_TAKE_LOCK, MUTEX_UNTAKE_LOCK, NET_EVENT_OPEN, state_send_accept(), and this_ethread().
Referenced by HttpSM::do_http_server_open().
void PluginVCCore::init | ( | void | ) |
Definition at line 991 of file PluginVC.cc.
References active_vc, MIOBuffer::alloc_reader(), BUFFER_SIZE_INDEX_32K, Debug, Continuation::mutex, new_MIOBuffer, new_ProxyMutex(), passive_vc, this_ethread(), and NetVConnection::thread.
Referenced by alloc().
void PluginVCCore::kill_no_connect | ( | ) |
Definition at line 1152 of file PluginVC.cc.
References active_vc, PluginVC::do_io_close(), and ink_assert.
Referenced by HttpSM::kill_this().
void PluginVCCore::set_accept_cont | ( | Continuation * | c | ) |
Definition at line 1049 of file PluginVC.cc.
Referenced by PVCTestDriver::run_next_test(), TSHttpConnectTransparent(), TSHttpConnectWithPluginId(), TSHttpTxnIntercept(), and TSHttpTxnServerIntercept().
void PluginVCCore::set_active_addr | ( | in_addr_t | ip, | |
int | port | |||
) |
Set the active address.
ip | IPv4 address in host order. | |
port | IP Port in host order. |
Definition at line 1172 of file PluginVC.cc.
References ats_ip4_set().
Referenced by TSHttpConnectTransparent(), and TSHttpConnectWithPluginId().
void PluginVCCore::set_active_addr | ( | sockaddr const * | ip | ) |
Set the active address and port.
ip | Address and port used. |
Definition at line 1178 of file PluginVC.cc.
References IpEndpoint::assign().
void PluginVCCore::set_active_data | ( | void * | data | ) |
Definition at line 1190 of file PluginVC.cc.
void PluginVCCore::set_passive_addr | ( | in_addr_t | ip, | |
int | port | |||
) |
Set the passive address.
ip | IPv4 address in host order. | |
port | IP port in host order. |
Definition at line 1160 of file PluginVC.cc.
References ats_ip4_set().
Referenced by TSHttpConnectTransparent().
void PluginVCCore::set_passive_addr | ( | sockaddr const * | ip | ) |
Set the passive address.
ip | Address and port. |
Definition at line 1166 of file PluginVC.cc.
References IpEndpoint::assign().
void PluginVCCore::set_passive_data | ( | void * | data | ) |
Definition at line 1184 of file PluginVC.cc.
void PluginVCCore::set_plugin_id | ( | int64_t | id | ) |
Set the plugin ID for the internal VCs.
Definition at line 1203 of file PluginVC.cc.
References active_vc, and passive_vc.
Referenced by TSHttpConnectWithPluginId().
void PluginVCCore::set_plugin_tag | ( | char const * | tag | ) |
Set the plugin tag for the internal VCs.
Definition at line 1209 of file PluginVC.cc.
References active_vc, and passive_vc.
Referenced by TSHttpConnectWithPluginId().
void PluginVCCore::set_transparent | ( | bool | passive_side, | |
bool | active_side | |||
) |
Definition at line 1196 of file PluginVC.cc.
References active_vc, passive_vc, and NetVConnection::set_is_transparent().
Referenced by TSHttpConnectTransparent().
int PluginVCCore::state_send_accept | ( | int | event, | |
void * | data | |||
) |
Definition at line 1114 of file PluginVC.cc.
References eventProcessor, Continuation::handleEvent(), Continuation::mutex, MUTEX_TRY_LOCK, NET_EVENT_ACCEPT, passive_vc, PVC_LOCK_RETRY_TIME, EventProcessor::schedule_in(), SET_HANDLER, and this_ethread().
Referenced by connect(), and connect_re().
int PluginVCCore::state_send_accept_failed | ( | int | event, | |
void * | data | |||
) |
Definition at line 1097 of file PluginVC.cc.
References eventProcessor, Continuation::handleEvent(), Continuation::mutex, MUTEX_TRY_LOCK, NET_EVENT_ACCEPT_FAILED, PVC_LOCK_RETRY_TIME, EventProcessor::schedule_in(), SET_HANDLER, and this_ethread().
Referenced by attempt_delete().
friend class PluginVC [friend] |
Definition at line 175 of file PluginVC.h.
Definition at line 225 of file PluginVC.h.
Referenced by attempt_delete(), connect(), connect_re(), init(), kill_no_connect(), set_plugin_id(), set_plugin_tag(), and set_transparent().
Definition at line 226 of file PluginVC.h.
Referenced by attempt_delete(), init(), set_plugin_id(), set_plugin_tag(), set_transparent(), and state_send_accept().