Yes, I have a problem here. There is no reliability functions in UDP and we can't stop the flow of datagrams from the peer. So if we don't read out datagrams from the internal receive buffer fast enough and ignore the return value from `push()` we will reach the high watermark and sooner or later datagrams will be lost when there is an "out of memory" condition.
I'll make a note on this.