Udp support for  2.x-maintenance

More: #9 
I was thinking if an implementation wants to do the resource allocation not in constructor phase but  just before using the object. So it was more in terms of if there would be any need in future.

But given it doesn't take any argument, whatever is being done could be done in the constructor itself. I am going to drop it in favor of simplicity.