@synchronized(mlock)
    def reqFundamentalData(self, reqId, contract, reportType):
        if not self.m_connected:
            self.error(reqId, EClientErrors.NOT_CONNECTED, "")
            return
        if self.m_serverVersion < self.MIN_SERVER_VER_FUNDAMENTAL_DATA:
            self.error(reqId, EClientErrors.UPDATE_TWS, "  It does not support fundamental data requests.")
            return
        VERSION = 1
        try:
            #  send req fund data msg
            self.send(self.REQ_FUNDAMENTAL_DATA)
            self.send(VERSION)
            self.send(reqId)
            #  send contract fields
            self.send(contract.m_symbol)
            self.send(contract.m_secType)
            self.send(contract.m_exchange)
            self.send(contract.m_primaryExch)
            self.send(contract.m_currency)
            self.send(contract.m_localSymbol)
            self.send(reportType)
        except Exception as e:
            self.error(reqId, EClientErrors.FAIL_SEND_REQFUNDDATA, str(e))
            self.close()
Returns *conf_name* settings if provided in *all_config*, else returns
dataset/ETHPy150Open CarterBain/Medici/ib/ext/EClientSocket.py/EClientSocket.reqFundamentalData--crossover with--dataset/ETHPy150Open osrg/ryu/ryu/services/protocols/bgp/rtconf/base.py/compute_optional_conf