36 inline const std::vector<uint16_t>&
getGBTUniqueIdsInLink(uint16_t feeId)
const {
return mGBTUniqueIdsInLink.find(feeId)->second; }
42 inline uint32_t
getLinkUniqueId(uint8_t linkId, uint8_t endPointId, uint16_t cruId)
const {
return (linkId + 1) << ((endPointId == 1) ? 8U : 0U) | (cruId << 16U); }
45 inline uint16_t
getCRUId(uint32_t linkUniqueId)
const {
return linkUniqueId >> 16; }
47 inline uint8_t
getEndPointId(uint32_t linkUniqueId)
const {
return (linkUniqueId & 0xFF00) ? 1 : 0; }
49 inline uint8_t
getLinkId(uint32_t linkUniqueId)
const {
return ((linkUniqueId >> (8U *
getEndPointId(linkUniqueId))) & 0xFF) - 1; }
51 uint16_t
getFEEId(uint16_t gbtUniqueId)
const;
61 void add(uint16_t gbtUniqueId, uint8_t linkId, uint8_t epId, uint16_t cruId, uint16_t feeId);
62 void add(uint16_t gbtUniqueId, uint8_t linkId, uint8_t epId, uint16_t cruId);
64 std::unordered_map<uint32_t, uint16_t> mLinkUniqueIdToGBTUniqueId{};
65 std::unordered_map<uint16_t, uint16_t> mGBTUniqueIdToFeeId{};
66 std::unordered_map<uint16_t, std::vector<uint16_t>> mGBTUniqueIdsInLink{};
uint32_t getLinkUniqueId(uint8_t linkId, uint8_t endPointId, uint16_t cruId) const
Gets a uniqueID from the combination of linkId, endPointId and cruId;.