The continuation mutex is NULL to allow parellel accepts in NT. More...
#include <HttpSessionAccept.h>
Inherits SessionAccept, and detail::HttpSessionAcceptOptions.
Public Types | |
typedef detail::HttpSessionAcceptOptions | Options |
Construction options. | |
Public Member Functions | |
HttpSessionAccept (Options const &opt=Options()) | |
Default constructor. | |
~HttpSessionAccept () | |
void | accept (NetVConnection *, MIOBuffer *, IOBufferReader *) |
int | mainEvent (int event, void *netvc) |
The continuation mutex is NULL to allow parellel accepts in NT.
No state is recorded by the handler and values are required to be set during construction via the Options
struct and never changed. So a NULL mutex is safe.
Most of the state is simply passed on to the ClientSession
after an accept. It is done here because this is the least bad pathway from the top level configuration to the HTTP session.
Definition at line 174 of file HttpSessionAccept.h.
Construction options.
Provide an easier to remember typedef for clients.
Definition at line 182 of file HttpSessionAccept.h.
Default constructor.
Definition at line 189 of file HttpSessionAccept.h.
References mainEvent(), and SET_HANDLER.
HttpSessionAccept::~HttpSessionAccept | ( | ) | [inline] |
Definition at line 197 of file HttpSessionAccept.h.
void HttpSessionAccept::accept | ( | NetVConnection * | netvc, | |
MIOBuffer * | iobuf, | |||
IOBufferReader * | reader | |||
) |
Definition at line 31 of file HttpSessionAccept.cc.
References HttpClientSession::acl_record, IpAllow::AllMethodAcl(), ats_host_res_from(), ats_ip_nptop(), ats_ip_ntop(), NetVConnection::attributes, detail::HttpSessionAcceptOptions::backdoor, Debug, NetVConnection::do_io_close(), detail::HttpSessionAcceptOptions::f_outbound_transparent, HttpClientSession::f_outbound_transparent, detail::HttpSessionAcceptOptions::f_transparent_passthrough, HttpClientSession::f_transparent_passthrough, NetVConnection::get_remote_addr(), detail::HttpSessionAcceptOptions::host_res_preference, HttpClientSession::host_res_style, httpClientSessionAllocator, is_debug_tag_set, AclRecord::isEmpty(), HttpClientSession::new_connection(), detail::HttpSessionAcceptOptions::outbound_ip4, HttpClientSession::outbound_ip4, detail::HttpSessionAcceptOptions::outbound_ip6, HttpClientSession::outbound_ip6, detail::HttpSessionAcceptOptions::outbound_port, HttpClientSession::outbound_port, this_ethread(), THREAD_ALLOC_INIT, detail::HttpSessionAcceptOptions::transport_type, and Warning.
Referenced by mainEvent().
int HttpSessionAccept::mainEvent | ( | int | event, | |
void * | netvc | |||
) |
Definition at line 75 of file HttpSessionAccept.cc.
References accept(), EVENT_ERROR, HTTP_SUM_DYN_STAT, http_ua_msecs_counts_errors_pre_accept_hangups_stat, ink_release_assert, MachineFatal, and NET_EVENT_ACCEPT.
Referenced by HttpSessionAccept(), and SocksProxy::mainEvent().