def send_data(self, stream_id, data, end_stream=False):
        if len(data) > self.local_flow_control_window(stream_id):
            raise FlowControlError(
                "Cannot send %d bytes, flow control window is %d." %
                (len(data), self.local_flow_control_window(stream_id))
            )
        elif len(data) > self.max_outbound_frame_size:
            raise FrameTooLargeError(
                "Cannot send frame size %d, max frame size is %d" %
                (len(data), self.max_outbound_frame_size)
            )

        self.state_machine.process_input(ConnectionInputs.SEND_DATA)
        frames = self.streams[stream_id].send_data(data, end_stream)
        self._prepare_for_sending(frames)

        self.outbound_flow_control_window -= len(data)
        assert self.outbound_flow_control_window >= 0
Close the cursor if we are not in a transaction
dataset/ETHPy150Open python-hyper/hyper-h2/h2/connection.py/H2Connection.send_data--crossover with--dataset/ETHPy150Open neurodata/ndstore/ocpca/ocpcadb.py/OCPCADB.closeCursorCommit