Implement Promise/Future cancellation properly for outbound traffic

- Related issue: #1432
- Make sure the Promise of a write operation is not cancellable before writing out