this repo has no description
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Return version too new for TLog peeks

garrison 4c5ed5f4 c84e7fb7

+19 -2
+9
lib/servers/storage.ex
··· 285 285 {:noreply, state} 286 286 end 287 287 288 + def handle_info({:peek_version_too_new, nonce}, %State{} = state) when nonce == state.peek_nonce do 289 + SimServer.send_after self(), :peek_timeout, 1 290 + {:noreply, state} 291 + end 292 + 293 + def handle_info({:peek_version_too_new, _nonce}, %State{} = state) do 294 + {:noreply, state} 295 + end 296 + 288 297 def handle_info(:peek_timeout, %State{} = state) do 289 298 {:noreply, peek_logs(state)} 290 299 end
+8 -1
lib/servers/tlog.ex
··· 163 163 {:reply, {:ok, pairs}, state} 164 164 end 165 165 166 + def handle_cast({:peek, from_pid, nonce, _tag, start_version, _end_version}, %State{} = state) when start_version > state.version do 167 + SimServer.send from_pid, {:peek_version_too_new, nonce} 168 + {:noreply, state} 169 + end 170 + 166 171 def handle_cast({:peek, from_pid, nonce, tag, start_version, end_version}, %State{} = state) 167 172 when is_pid(from_pid) and is_reference(nonce) and is_integer(start_version) and (is_nil(end_version) or is_integer(end_version)) do 173 + assert start_version <= state.version 174 + 168 175 end_version = end_version || state.version 169 - # TODO: end_version = max(end_version, start_version) ? 176 + assert start_version <= end_version 170 177 171 178 batches = TaggedQueue.peek(state.tagged_queue, tag, start_version, end_version) 172 179 SimServer.simulate_work([1, 2, 3, 10, 30])
+2 -1
lib/tagged_queue.ex
··· 43 43 ] 44 44 """ 45 45 @spec peek(%TaggedQueue{}, integer, non_neg_integer, non_neg_integer) :: [{non_neg_integer, [Utils.numbered_mutation]}] 46 - def peek(%TaggedQueue{} = tq, tag, start_version, end_version) when is_integer(tag) and is_integer(start_version) and is_integer(end_version) do 46 + def peek(%TaggedQueue{} = tq, tag, start_version, end_version) 47 + when is_integer(tag) and is_integer(start_version) and is_integer(end_version) and start_version <= end_version do 47 48 do_scan(tq.table, tag, end_version, start_version - 1, []) 48 49 |> Enum.reverse() 49 50 end