I don't think the boolean is necessary. If you want to cancel something, cancel it. There's no 'safe point' anyway: networks come and go and if you need safety, you need it in the application layer.