public String Next()

in rocketmq-client-csharp/MessageIdGenerator.cs [70:96]


        public String Next()
        {
            long deltaSeconds = _secondsSinceCustomEpoch + _stopwatch.ElapsedMilliseconds / 1_000;

            MemoryStream stream = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(stream);

            byte[] deltaSecondsBytes = BitConverter.GetBytes(deltaSeconds);
            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(deltaSecondsBytes);
            }

            writer.Write(deltaSecondsBytes, 4, 4);

            int no = Interlocked.Increment(ref _sequence);
            byte[] noBytes = BitConverter.GetBytes(no);
            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(noBytes);
            }

            writer.Write(noBytes);
            var suffixBytes = stream.ToArray();

            return _prefix + Utilities.ByteArrayToHexString(suffixBytes);
        }