| 43 | } |
| 44 | |
| 45 | void |
| 46 | ProxyTransaction::new_transaction(bool from_early_data) |
| 47 | { |
| 48 | ink_release_assert(_sm == nullptr); |
| 49 | |
| 50 | // Defensive programming, make sure nothing persists across |
| 51 | // connection re-use |
| 52 | |
| 53 | ink_release_assert(_proxy_ssn != nullptr); |
| 54 | _sm = THREAD_ALLOC(httpSMAllocator, this_thread()); |
| 55 | _sm->init(from_early_data); |
| 56 | HttpTxnDebug("[%" PRId64 "] Starting transaction %d using sm [%" PRId64 "]", _proxy_ssn->connection_id(), |
| 57 | _proxy_ssn->get_transact_count(), _sm->sm_id); |
| 58 | |
| 59 | // PI tag valid only for internal requests |
| 60 | if (this->get_netvc()->get_is_internal_request()) { |
| 61 | PluginIdentity *pi = dynamic_cast<PluginIdentity *>(this->get_netvc()); |
| 62 | if (pi) { |
| 63 | _sm->plugin_tag = pi->getPluginTag(); |
| 64 | _sm->plugin_id = pi->getPluginId(); |
| 65 | } |
| 66 | } |
| 67 | |
| 68 | this->increment_transactions_stat(); |
| 69 | _sm->attach_client_session(this); |
| 70 | } |
| 71 | |
| 72 | bool |
| 73 | ProxyTransaction::attach_server_session(PoolableSession *ssession, bool transaction_done) |
nothing calls this directly
no test coverage detected