| 457 | } |
| 458 | |
| 459 | ProxyTransaction * |
| 460 | Http1ClientSession::new_transaction() |
| 461 | { |
| 462 | // If the client connection terminated during API callouts we're done. |
| 463 | if (nullptr == _vc) { |
| 464 | this->do_io_close(); // calls the SSN_CLOSE hooks to match the SSN_START hooks. |
| 465 | return nullptr; |
| 466 | } |
| 467 | |
| 468 | if (!_vc->add_to_active_queue()) { |
| 469 | // no room in the active queue close the connection |
| 470 | this->do_io_close(); |
| 471 | return nullptr; |
| 472 | } |
| 473 | |
| 474 | // Defensive programming, make sure nothing persists across |
| 475 | // connection re-use |
| 476 | half_close = false; |
| 477 | |
| 478 | read_state = HCS_ACTIVE_READER; |
| 479 | |
| 480 | transact_count++; |
| 481 | |
| 482 | trans.new_transaction(read_from_early_data > 0 ? true : false); |
| 483 | return &trans; |
| 484 | } |
| 485 | |
| 486 | bool |
| 487 | Http1ClientSession::attach_server_session(PoolableSession *ssession, bool transaction_done) |
no test coverage detected