)]}'
{
  "commit": "56966c1d71fb0ce53bf43176e62eb9b40d558a43",
  "tree": "1eeea3f58d274c298efc85ede2a166d34019f491",
  "parents": [
    "d7d5f993f0970241d432b0ab4af829a32ad502d0"
  ],
  "author": {
    "name": "Hao Jiang",
    "email": "jianghao@google.com",
    "time": "Sat Apr 18 02:03:53 2026 +0000"
  },
  "committer": {
    "name": "Muhammad Usama Chaudhry",
    "email": "muhammadusama@google.com",
    "time": "Wed Jul 29 10:11:41 2026 -0700"
  },
  "message": "nvmesensor: dynamic MCTP matching via BusInfo\n\nRemoved the requirement for static MctpReactorConfigPath in NVME1000\nEntity Manager configurations. Instead, implemented a dynamic matching\nmechanism based on physical topology (BusInfo).\n\nAdded a background listener in MctpUtil that monitors associations\nbetween MCTP endpoints and Entity Manager configurations. When an\nassociation appears, it queries the configuration properties on demand\nand caches the full SensorData.\n\nUpdated handleConfigurations in NVMeSensorMain to perform the matching\nby iterating over the cached configurations and comparing BusInfo with\nthe sensor\u0027s BusInfo on the fly. This pushes the matching logic to the\nconsumer and makes it future-proof against schema changes.\n\nAdded cache priming on startup to handle pre-existing associations and\nconfigurations, ensuring listeners are registered before queries to\navoid race conditions.\nAdded a new constructor to MctpReactorDevice to accept a pre-resolved\nendpoint path, bypassing the Object Mapper lookup in setup().\n\nThis change decouples nvmesensor from static paths and specific setup\nagents, enabling support for dynamic buses like USB.\n\nChange-Id: I827a25b7e7d6cba2f7cf1e60c351b39f03b4d4dc\nGoogle-Bug-Id: 490106522\nSigned-off-by: Hao Jiang \u003cjianghao@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7157894589cb733d3c201abe2ce5e2ffdaa5a796",
      "old_mode": 33188,
      "old_path": "src/MctpReactorDevice.cpp",
      "new_id": "3b979b832f193f6cc75c57c19b071c58574a46ea",
      "new_mode": 33188,
      "new_path": "src/MctpReactorDevice.cpp"
    },
    {
      "type": "modify",
      "old_id": "f506e988d1c707b96ca7615d5a7fa9e1fe3e5fba",
      "old_mode": 33188,
      "old_path": "src/MctpReactorDevice.hpp",
      "new_id": "321fcdbad28cf4d1d46942ccf5e6188eaf5220f3",
      "new_mode": 33188,
      "new_path": "src/MctpReactorDevice.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "106cb1073721ff925a69701e4e457c701c070a63",
      "new_mode": 33188,
      "new_path": "src/MctpUtil.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "580f7a004df9f4afa22aa4891a9a48f7ba6c7ab3",
      "new_mode": 33188,
      "new_path": "src/MctpUtil.hpp"
    },
    {
      "type": "modify",
      "old_id": "23f3b7adf3e80908f5429cdd2e409188198c3144",
      "old_mode": 33188,
      "old_path": "src/NVMeSensorMain.cpp",
      "new_id": "c89eafcea834d34dd726efc42727d89edea88d7e",
      "new_mode": 33188,
      "new_path": "src/NVMeSensorMain.cpp"
    },
    {
      "type": "modify",
      "old_id": "2363a2c5019118d4467084454dbef5c7c0ed2d72",
      "old_mode": 33188,
      "old_path": "src/meson.build",
      "new_id": "886ac8d514226eed55aef2a81cba7ea2e4dd89bf",
      "new_mode": 33188,
      "new_path": "src/meson.build"
    }
  ]
}
