HackerExperience / Helix

GNU Affero General Public License v3.0
53 stars 10 forks source link

Simplification of Process API/interface and implementation of Process.Executable #316

Closed renatomassaro closed 6 years ago

renatomassaro commented 6 years ago

Process.Executable is an interface for easily defining how a process should be executed. It is a much cleaner and simpler interface compared to the one we were using previously. Plus, it's a lot less prone-to-error and a lot more extensible.

TODO

Incidental

This change is Reviewable

sourcelevel-bot[bot] commented 6 years ago

Ebert has finished reviewing this Pull Request and has found:

You can see more details about this review at https://ebertapp.io/github/HackerExperience/Helix/pulls/316.

renatomassaro commented 6 years ago

Reviewed 88 of 88 files at r1. Review status: all files reviewed at latest revision, 4 unresolved discussions.


lib/process/objective.ex, line 156 at r1 (raw file):

            ulk: calculate(:ulk, params, factors)
          }
          |> Enum.reject(fn {_, total} -> total == nil end)  # Test me

?


lib/software/websocket/requests/pftp/file/download.ex, line 89 at r1 (raw file):

    storage = request.meta.storage

    #

?


lib/universe/bank/process/bank/transfer.ex, line 52 at r1 (raw file):


    # Review: Not exactly what I want. Where do I put limitations?
    # TODO: Once TOP supports it, `minimum` should refer to raw time, not

Create issue: process resources should be defined at the same abstraction of process_objective.


test/features/hack_test.exs, line 50 at r1 (raw file):


      # Wait for response
      assert_reply ref, :ok, response, 300  # TODO

Remove - or create a macro based on env (slow_test -> 500; test -> 100)


Comments from Reviewable