public LibuvLoop()
        {
            _pool = LibuvBuffer.Default;
            var size       = LibuvManaged.uv_loop_size().ToInt32();
            var loopHandle = Marshal.AllocHGlobal(size); // this needs to be deallocated

            _handle = loopHandle;
        }
 LibuvLoop(IntPtr handle, LibuvBuffer pool)
 {
     _handle = handle;
     _pool   = pool;
 }