Protected destructor to prevent deletion through this type.
~basic_descriptor();
This function destroys the descriptor, cancelling any outstanding asynchronous
wait operations associated with the descriptor as if by calling cancel
.