TODO.md
# To Do
## refactor core
* move state from memory to disk, sqlite probably
* allows us to retain stats etc over restart
* simplifies code
* keep only running nodes in memory
* negligible I/O cost, as majority is I/O wait getting config
## separate login to own package
* oxidized-script is not only use-case
* it would be good to have minimal package used to login to routers
* oxidized just one consumer of that functionality
* what to do with models, we need model to know how to login. Should models be separated to another package? oxidized-core, oxidized-models and oxidized-login?
* how can we allow interactive login in oxidized-login? With functional VTY etc? REPL loop in input/ssh and input/telnet?
## thread number
* think about algo
* if job ended later than now-iteration have rand(node.size) == 0 to add thread
* if now is less than job_ended+iteration same chance to remove thread?
* should we try to avoid max threads from being hit? (like maybe non-success thread is pulling average?)
## docs, testing
* yard docs
* minitest tests