1.0 Responsibilities
Attempt to open an instance, e.g., file stream, socket, ... that may fail. If open succeeds
it returns the opened instance, as a filled optional<T>. If open fails, it sleeps for a specified time and attempts
to open again.
It continually attempts, for a specified number of times, to open, returning the instance
on success. If all specified number of attempts fail it returns
an empty optional<T>.
2.0 Status
Code in the repository are my solutions to midterm questions, and do not fully satisfy the
responsibilities, listed above, e.g., doesn't use optional<T>. This is second priority
so won't be completed until I need retry for one of the projects I'm working on.