Ok, it turns out you don't need a bunch of stuff once you realize you only need the amount of time that's elapsed since before the connect(), including `start_read`. Would appreciate your feedback, latest commit is 45a0239