def send_headers(self, stream_id, headers, end_stream=False):
        # Check we can open the stream.
        if stream_id not in self.streams:
            max_open_streams = self.remote_settings.max_concurrent_streams
            if (self.open_outbound_streams + 1) > max_open_streams:
                raise TooManyStreamsError(
                    "Max outbound streams is %d, %d open" %
                    (max_open_streams, self.open_outbound_streams)
                )

        self.state_machine.process_input(ConnectionInputs.SEND_HEADERS)
        stream = self._get_or_create_stream(
            stream_id, AllowedStreamIDs(self.client_side)
        )
        frames = stream.send_headers(
            headers, self.encoder, end_stream
        )
        self._prepare_for_sending(frames)
Return column from lower level tables if possible
dataset/ETHPy150Open python-hyper/hyper-h2/h2/connection.py/H2Connection.send_headers--crossover with--dataset/ETHPy150Open blaze/blaze/blaze/compute/sql.py/lower_column