Pushes all buffered bytes to their final destination.
when the sink is closed.
when some I/O error occurs.