public void Init() { _start = DateTime.UtcNow; _stopwatch = Stopwatch.StartNew(); _tickProvider = new MockTickProvider(GetTicks()); _workerIdProvider = new MockNetworkProvider(BitConverter.GetBytes(1234567890L)); _processIdProvider = new MockProcessIdProvider(BitConverter.GetBytes(10)); }
public SessionManager(ISessionStorage sessionStorage, IProcessIdProvider processIdProvider) { _sessionStorage = sessionStorage; _processIdProvider = processIdProvider; _sessionKey = ToSessionKey(_processIdProvider.ParentProcessId); PurgeSessions(); }
public void Should_not_match_when_generated_from_two_processes() { // Arrange var generator1 = new NewIdGenerator(_tickProvider, _workerIdProvider, _processIdProvider); _processIdProvider = new MockProcessIdProvider(BitConverter.GetBytes(11)); var generator2 = new NewIdGenerator(_tickProvider, _workerIdProvider, _processIdProvider); // Act var id1 = generator1.Next(); var id2 = generator2.Next(); // Assert Assert.AreNotEqual(id1, id2); }
public NewIdGenerator(ITickProvider tickProvider, IWorkerIdProvider workerIdProvider, IProcessIdProvider processIdProvider = null, int workerIndex = 0) { _tickProvider = tickProvider; byte[] workerId = workerIdProvider.GetWorkerId(workerIndex); _c = workerId[0] << 24 | workerId[1] << 16 | workerId[2] << 8 | workerId[3]; if(processIdProvider != null) { var processId = processIdProvider.GetProcessId(); _d = processId[0] << 24 | processId[1] << 16; } else { _d = workerId[4] << 24 | workerId[5] << 16; } }
public NewIdGenerator(ITickProvider tickProvider, IWorkerIdProvider workerIdProvider, IProcessIdProvider processIdProvider = null, int workerIndex = 0) { _tickProvider = tickProvider; _spinLock = new SpinLock(false); var workerId = workerIdProvider.GetWorkerId(workerIndex); _c = (workerId[0] << 24) | (workerId[1] << 16) | (workerId[2] << 8) | workerId[3]; if (processIdProvider != null) { var processId = processIdProvider.GetProcessId(); _d = (processId[0] << 24) | (processId[1] << 16); } else { _d = (workerId[4] << 24) | (workerId[5] << 16); } _gb = (short)_c; _gc = (short)(_c >> 16); }
public static void SetProcessIdProvider(IProcessIdProvider provider) { _processIdProvider = provider; }
public NewIdGenerator(ITickProvider tickProvider, IWorkerIdProvider workerIdProvider, IProcessIdProvider processIdProvider = null, int workerIndex = 0) { _tickProvider = tickProvider; byte[] workerId = workerIdProvider.GetWorkerId(workerIndex); _c = workerId[0] << 24 | workerId[1] << 16 | workerId[2] << 8 | workerId[3]; if (processIdProvider != null) { var processId = processIdProvider.GetProcessId(); _d = processId[0] << 24 | processId[1] << 16; } else { _d = workerId[4] << 24 | workerId[5] << 16; } }