| 793 | } |
| 794 | |
| 795 | static apr_status_t session_start(h2_proxy_session *session) |
| 796 | { |
| 797 | nghttp2_settings_entry settings[2]; |
| 798 | int rv, add_conn_window; |
| 799 | apr_socket_t *s; |
| 800 | |
| 801 | s = ap_get_conn_socket(session->c); |
| 802 | #if !defined(WIN32) && !defined(NETWARE) |
| 803 | if (s) { |
| 804 | ap_sock_disable_nagle(s); |
| 805 | } |
| 806 | #endif |
| 807 | |
| 808 | settings[0].settings_id = NGHTTP2_SETTINGS_ENABLE_PUSH; |
| 809 | settings[0].value = 0; |
| 810 | settings[1].settings_id = NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE; |
| 811 | settings[1].value = (1 << session->window_bits_stream) - 1; |
| 812 | |
| 813 | rv = nghttp2_submit_settings(session->ngh2, NGHTTP2_FLAG_NONE, settings, |
| 814 | H2_ALEN(settings)); |
| 815 | |
| 816 | /* If the connection window is larger than our default, trigger a WINDOW_UPDATE */ |
| 817 | add_conn_window = ((1 << session->window_bits_connection) - 1 - |
| 818 | NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE); |
| 819 | if (!rv && add_conn_window != 0) { |
| 820 | rv = nghttp2_submit_window_update(session->ngh2, NGHTTP2_FLAG_NONE, 0, add_conn_window); |
| 821 | } |
| 822 | return rv? APR_EGENERAL : APR_SUCCESS; |
| 823 | } |
| 824 | |
| 825 | static apr_status_t open_stream(h2_proxy_session *session, const char *url, |
| 826 | request_rec *r, int standalone, |
no test coverage detected