d58dec8862
Motivation: Sometimes it is useful to be able to wrap an existing memory address (a.k.a pointer) and create a ByteBuf from it. This way its easier to interopt with other libraries. Modifications: Add a new Unpooled.wrappedBuffer(....) method that takes a memory address. Result: Be able to wrap an existing memory address into a ByteBuf.