7 ms·
many of the underlying design decisions in libuv clash with decisions that we’ve made in the RethinkDB core Can you expand on this please?
by fucsia 11y ago
many of the underlying design decisions in libuv clash with decisions that we’ve made in the RethinkDB core
Can you expand on this please?
- atnnn 11y agoRethinkDB uses custom abstractions to hide the lower-level OS-specific code. We were able to port the low-level code to Windows with very little changes in these abstractions, and thus minimal changes to the rest of the code base. The proper way to use libuv would be to replace those abstractions with libuv's own, which would affect a lot more code and possibly break a lot of implicit invariants. In retrospect, perhaps we should have given alternatives like libuv, libevent or boost::asio more consideration.