1 2nghttp2_submit_shutdown_notice 3============================== 4 5Synopsis 6-------- 7 8*#include <nghttp2/nghttp2.h>* 9 10.. function:: int nghttp2_submit_shutdown_notice(nghttp2_session *session) 11 12 13 Signals to the client that the server started graceful shutdown 14 procedure. 15 16 This function is only usable for server. If this function is 17 called with client side session, this function returns 18 :macro:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE`. 19 20 To gracefully shutdown HTTP/2 session, server should call this 21 function to send GOAWAY with last_stream_id (1u << 31) - 1. And 22 after some delay (e.g., 1 RTT), send another GOAWAY with the stream 23 ID that the server has some processing using 24 `nghttp2_submit_goaway()`. See also 25 `nghttp2_session_get_last_proc_stream_id()`. 26 27 Unlike `nghttp2_submit_goaway()`, this function just sends GOAWAY 28 and does nothing more. This is a mere indication to the client 29 that session shutdown is imminent. The application should call 30 `nghttp2_submit_goaway()` with appropriate last_stream_id after 31 this call. 32 33 If one or more GOAWAY frame have been already sent by either 34 `nghttp2_submit_goaway()` or `nghttp2_session_terminate_session()`, 35 this function has no effect. 36 37 This function returns 0 if it succeeds, or one of the following 38 negative error codes: 39 40 :macro:`nghttp2_error.NGHTTP2_ERR_NOMEM` 41 Out of memory. 42 :macro:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` 43 The *session* is initialized as client. 44