/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
| 42 | |
| 43 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
| 44 | FSecure::C3::Core::BaseQuery::SequenceNumberFieldUnderlyingType FSecure::C3::Core::BaseQuery::GenerateSequenceNumber() |
| 45 | { |
| 46 | static std::mutex accessMutex; |
| 47 | std::scoped_lock lock(accessMutex); |
| 48 | |
| 49 | static SequenceNumberFieldUnderlyingType nextGlobalSequenceNumber = 0; |
| 50 | if (nextGlobalSequenceNumber & (3 << s_SequenceNumberBitLength)) |
| 51 | return nextGlobalSequenceNumber = 0; |
| 52 | |
| 53 | return nextGlobalSequenceNumber++; |
| 54 | } |
| 55 | |
| 56 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
| 57 | std::weak_ptr<FSecure::C3::Core::DeviceBridge> FSecure::C3::Core::BaseQuery::GetSenderChannel() |
nothing calls this directly
no outgoing calls
no test coverage detected