-class MsgIdGenerator
-{
- uint64_t counter;
- std::string strid;
- const std::string::size_type baselen;
-
- public:
- MsgIdGenerator()
- : counter(0)
- , strid(InspIRCd::Format("%s~%lu~", ServerInstance->Config->GetSID().c_str(), ServerInstance->startup_time))
- , baselen(strid.length())
- {
- }
-
- const std::string& GetNext()
- {
- strid.erase(baselen);
- strid.append(ConvToStr(counter++));
- return strid;
- }
-};
-