<s> """<STR_LIT>""" <EOL> import pytest <EOL> import h2 . connection <EOL> import h2 . errors <EOL> import h2 . events <EOL> import h2 . exceptions <EOL> import h2 . settings <EOL> class TestFlowControl ( object ) : <EOL> """<STR_LIT>""" <EOL> example_request_headers = [ <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:/>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:GET>' ) , <EOL> ] <EOL> DEFAULT_FLOW_WINDOW = <NUM_LIT> <EOL> def test_flow_control_initializes_properly ( self ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == self . DEFAULT_FLOW_WINDOW <EOL> assert c . remote_flow_control_window ( <NUM_LIT:1> ) == self . DEFAULT_FLOW_WINDOW <EOL> def test_flow_control_decreases_with_sent_data ( self ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> c . send_data ( <NUM_LIT:1> , b'<STR_LIT>' ) <EOL> remaining_length = self . DEFAULT_FLOW_WINDOW - len ( b'<STR_LIT>' ) <EOL> assert ( c . local_flow_control_window ( <NUM_LIT:1> ) == remaining_length ) <EOL> def test_flow_control_decreases_with_received_data ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( client_side = False ) <EOL> c . receive_data ( frame_factory . preamble ( ) ) <EOL> f1 = frame_factory . build_headers_frame ( self . example_request_headers ) <EOL> f2 = frame_factory . build_data_frame ( b'<STR_LIT>' ) <EOL> c . receive_data ( f1 . serialize ( ) + f2 . serialize ( ) ) <EOL> remaining_length = self . DEFAULT_FLOW_WINDOW - len ( b'<STR_LIT>' ) <EOL> assert ( c . remote_flow_control_window ( <NUM_LIT:1> ) == remaining_length ) <EOL> def test_flow_control_decreases_with_padded_data ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( client_side = False ) <EOL> c . receive_data ( frame_factory . preamble ( ) ) <EOL> f1 = frame_factory . build_headers_frame ( self . example_request_headers ) <EOL> f2 = frame_factory . build_data_frame ( b'<STR_LIT>' , padding_len = <NUM_LIT:10> ) <EOL> c . receive_data ( f1 . serialize ( ) + f2 . serialize ( ) ) <EOL> remaining_length = ( <EOL> self . DEFAULT_FLOW_WINDOW - len ( b'<STR_LIT>' ) - <NUM_LIT:10> - <NUM_LIT:1> <EOL> ) <EOL> assert ( c . remote_flow_control_window ( <NUM_LIT:1> ) == remaining_length ) <EOL> def test_flow_control_is_limited_by_connection ( self ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> c . send_data ( <NUM_LIT:1> , b'<STR_LIT>' ) <EOL> c . send_headers ( <NUM_LIT:3> , self . example_request_headers ) <EOL> remaining_length = self . DEFAULT_FLOW_WINDOW - len ( b'<STR_LIT>' ) <EOL> assert ( c . local_flow_control_window ( <NUM_LIT:3> ) == remaining_length ) <EOL> def test_remote_flow_control_is_limited_by_connection ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( client_side = False ) <EOL> c . receive_data ( frame_factory . preamble ( ) ) <EOL> f1 = frame_factory . build_headers_frame ( self . example_request_headers ) <EOL> f2 = frame_factory . build_data_frame ( b'<STR_LIT>' ) <EOL> f3 = frame_factory . build_headers_frame ( <EOL> self . example_request_headers , <EOL> stream_id = <NUM_LIT:3> , <EOL> ) <EOL> c . receive_data ( f1 . serialize ( ) + f2 . serialize ( ) + f3 . serialize ( ) ) <EOL> remaining_length = self . DEFAULT_FLOW_WINDOW - len ( b'<STR_LIT>' ) <EOL> assert ( c . remote_flow_control_window ( <NUM_LIT:3> ) == remaining_length ) <EOL> def test_cannot_send_more_data_than_window ( self ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> c . outbound_flow_control_window = <NUM_LIT:5> <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . send_data ( <NUM_LIT:1> , b'<STR_LIT>' ) <EOL> def test_increasing_connection_window_allows_sending ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> c . outbound_flow_control_window = <NUM_LIT:5> <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . send_data ( <NUM_LIT:1> , b'<STR_LIT>' ) <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:0> , <EOL> increment = <NUM_LIT:5> , <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> c . send_data ( <NUM_LIT:1> , b'<STR_LIT>' ) <EOL> assert c . data_to_send ( ) <EOL> def test_increasing_stream_window_allows_sending ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> c . _get_stream_by_id ( <NUM_LIT:1> ) . outbound_flow_control_window = <NUM_LIT:5> <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . send_data ( <NUM_LIT:1> , b'<STR_LIT>' ) <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:1> , <EOL> increment = <NUM_LIT:5> , <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> c . send_data ( <NUM_LIT:1> , b'<STR_LIT>' ) <EOL> assert c . data_to_send ( ) <EOL> def test_flow_control_shrinks_in_response_to_settings ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> f = frame_factory . build_settings_frame ( <EOL> settings = { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> def test_flow_control_grows_in_response_to_settings ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:0> , increment = <NUM_LIT> <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> f = frame_factory . build_settings_frame ( <EOL> settings = { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> def test_flow_control_settings_blocked_by_conn_window ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> f = frame_factory . build_settings_frame ( <EOL> settings = { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> def test_new_streams_have_flow_control_per_settings ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> f = frame_factory . build_settings_frame ( <EOL> settings = { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:0> , increment = <NUM_LIT> <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> assert c . local_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> def test_window_update_no_stream ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( client_side = False ) <EOL> c . receive_data ( frame_factory . preamble ( ) ) <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:0> , <EOL> increment = <NUM_LIT:5> <EOL> ) <EOL> events = c . receive_data ( f . serialize ( ) ) <EOL> assert len ( events ) == <NUM_LIT:1> <EOL> event = events [ <NUM_LIT:0> ] <EOL> assert isinstance ( event , h2 . events . WindowUpdated ) <EOL> assert event . stream_id == <NUM_LIT:0> <EOL> assert event . delta == <NUM_LIT:5> <EOL> def test_window_update_with_stream ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( client_side = False ) <EOL> c . receive_data ( frame_factory . preamble ( ) ) <EOL> f1 = frame_factory . build_headers_frame ( self . example_request_headers ) <EOL> f2 = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:1> , <EOL> increment = <NUM_LIT> <EOL> ) <EOL> data = b'<STR_LIT>' . join ( map ( lambda f : f . serialize ( ) , [ f1 , f2 ] ) ) <EOL> events = c . receive_data ( data ) <EOL> assert len ( events ) == <NUM_LIT:2> <EOL> event = events [ <NUM_LIT:1> ] <EOL> assert isinstance ( event , h2 . events . WindowUpdated ) <EOL> assert event . stream_id == <NUM_LIT:1> <EOL> assert event . delta == <NUM_LIT> <EOL> def test_we_can_increment_stream_flow_control ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers , end_stream = True ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> expected_frame = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:1> , <EOL> increment = <NUM_LIT:5> <EOL> ) <EOL> events = c . increment_flow_control_window ( increment = <NUM_LIT:5> , stream_id = <NUM_LIT:1> ) <EOL> assert not events <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_we_can_increment_connection_flow_control ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers , end_stream = True ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> expected_frame = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:0> , <EOL> increment = <NUM_LIT:5> <EOL> ) <EOL> events = c . increment_flow_control_window ( increment = <NUM_LIT:5> ) <EOL> assert not events <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_we_enforce_our_flow_control_window ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( client_side = False ) <EOL> c . receive_data ( frame_factory . preamble ( ) ) <EOL> c . update_settings ( <EOL> { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } <EOL> ) <EOL> f = frame_factory . build_settings_frame ( { } , ack = True ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> f = frame_factory . build_headers_frame ( self . example_request_headers ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> f = frame_factory . build_data_frame ( b'<STR_LIT>' * <NUM_LIT:100> ) <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . receive_data ( f . serialize ( ) ) <EOL> expected_frame = frame_factory . build_goaway_frame ( <EOL> last_stream_id = <NUM_LIT:1> , <EOL> error_code = h2 . errors . FLOW_CONTROL_ERROR , <EOL> ) <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_shrink_remote_flow_control_settings ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> assert c . remote_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> c . update_settings ( { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } ) <EOL> f = frame_factory . build_settings_frame ( { } , ack = True ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> assert c . remote_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> def test_grow_remote_flow_control_settings ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> c . increment_flow_control_window ( increment = <NUM_LIT> ) <EOL> assert c . remote_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> c . update_settings ( { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } ) <EOL> f = frame_factory . build_settings_frame ( { } , ack = True ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> assert c . remote_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> def test_new_streams_have_remote_flow_control ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . update_settings ( { h2 . settings . INITIAL_WINDOW_SIZE : <NUM_LIT> } ) <EOL> f = frame_factory . build_settings_frame ( { } , ack = True ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> c . increment_flow_control_window ( increment = <NUM_LIT> ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> assert c . remote_flow_control_window ( <NUM_LIT:1> ) == <NUM_LIT> <EOL> @ pytest . mark . parametrize ( <EOL> '<STR_LIT>' , [ <NUM_LIT:0> , - <NUM_LIT:15> , <NUM_LIT:2> ** <NUM_LIT> ] <EOL> ) <EOL> def test_reject_bad_attempts_to_increment_flow_control ( self , increment ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers , end_stream = True ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> with pytest . raises ( ValueError ) : <EOL> c . increment_flow_control_window ( increment = increment , stream_id = <NUM_LIT:1> ) <EOL> with pytest . raises ( ValueError ) : <EOL> c . increment_flow_control_window ( increment = increment ) <EOL> @ pytest . mark . parametrize ( '<STR_LIT>' , [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> def test_reject_bad_remote_increments ( self , frame_factory , stream_id ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers , end_stream = True ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = stream_id , increment = <NUM_LIT:0> <EOL> ) <EOL> with pytest . raises ( h2 . exceptions . ProtocolError ) : <EOL> c . receive_data ( f . serialize ( ) ) <EOL> expected_frame = frame_factory . build_goaway_frame ( <EOL> last_stream_id = <NUM_LIT:0> , <EOL> error_code = h2 . errors . PROTOCOL_ERROR , <EOL> ) <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_reject_increasing_connection_window_too_far ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> increment = <NUM_LIT:2> ** <NUM_LIT> - c . outbound_flow_control_window <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:0> , increment = increment <EOL> ) <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . receive_data ( f . serialize ( ) ) <EOL> expected_frame = frame_factory . build_goaway_frame ( <EOL> last_stream_id = <NUM_LIT:0> , <EOL> error_code = h2 . errors . FLOW_CONTROL_ERROR , <EOL> ) <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_reject_increasing_stream_window_too_far ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> increment = <NUM_LIT:2> ** <NUM_LIT> - c . outbound_flow_control_window <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:1> , increment = increment <EOL> ) <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . receive_data ( f . serialize ( ) ) <EOL> expected_frame = frame_factory . build_goaway_frame ( <EOL> last_stream_id = <NUM_LIT:0> , <EOL> error_code = h2 . errors . FLOW_CONTROL_ERROR , <EOL> ) <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_reject_overlarge_conn_window_settings ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> increment = <NUM_LIT:2> ** <NUM_LIT> - <NUM_LIT:1> - c . outbound_flow_control_window <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:0> , increment = increment <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> f = frame_factory . build_settings_frame ( <EOL> settings = { <EOL> h2 . settings . INITIAL_WINDOW_SIZE : self . DEFAULT_FLOW_WINDOW + <NUM_LIT:1> <EOL> } <EOL> ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> events = c . receive_data ( f . serialize ( ) ) <EOL> assert len ( events ) == <NUM_LIT:1> <EOL> assert isinstance ( events [ <NUM_LIT:0> ] , h2 . events . RemoteSettingsChanged ) <EOL> expected_frame = frame_factory . build_settings_frame ( <EOL> settings = { } , <EOL> ack = True <EOL> ) <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_reject_overlarge_stream_window_settings ( self , frame_factory ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> increment = <NUM_LIT:2> ** <NUM_LIT> - <NUM_LIT:1> - c . outbound_flow_control_window <EOL> f = frame_factory . build_window_update_frame ( <EOL> stream_id = <NUM_LIT:1> , increment = increment <EOL> ) <EOL> c . receive_data ( f . serialize ( ) ) <EOL> f = frame_factory . build_settings_frame ( <EOL> settings = { <EOL> h2 . settings . INITIAL_WINDOW_SIZE : self . DEFAULT_FLOW_WINDOW + <NUM_LIT:1> <EOL> } <EOL> ) <EOL> c . clear_outbound_data_buffer ( ) <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . receive_data ( f . serialize ( ) ) <EOL> expected_frame = frame_factory . build_goaway_frame ( <EOL> last_stream_id = <NUM_LIT:0> , <EOL> error_code = h2 . errors . FLOW_CONTROL_ERROR , <EOL> ) <EOL> assert c . data_to_send ( ) == expected_frame . serialize ( ) <EOL> def test_reject_local_overlarge_increase_connection_window ( self ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> increment = <NUM_LIT:2> ** <NUM_LIT> - c . inbound_flow_control_window <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . increment_flow_control_window ( increment = increment ) <EOL> def test_reject_local_overlarge_increase_stream_window ( self ) : <EOL> """<STR_LIT>""" <EOL> c = h2 . connection . H2Connection ( ) <EOL> c . initiate_connection ( ) <EOL> c . send_headers ( <NUM_LIT:1> , self . example_request_headers ) <EOL> increment = <NUM_LIT:2> ** <NUM_LIT> - c . inbound_flow_control_window <EOL> with pytest . raises ( h2 . exceptions . FlowControlError ) : <EOL> c . increment_flow_control_window ( increment = increment , stream_id = <NUM_LIT:1> ) </s>
