Recovery from failure completely working, added a way to detect when actually finished sending (timeout based)