5 ms·
An introduction to libuv
- zedzedzed 14y ago+1 Nice, I am reading it.. By the way, servo is using it. Right?
- cleverjake 14y agoyes https://groups.google.com/forum/#!msg/mozilla.dev.servo/nJJxE https://groups.google.com/forum/#!msg/mozilla.dev.servo/nJJx... y1ehpE/5DGAwJ9i9XgJ
- dbaupp 14y agoDo you mean this link: https://groups.google.com/forum/#!msg/mozilla.dev.servo/nJJxEy1ehpE/5DGAwJ9i9XgJ https://groups.google.com/forum/#!msg/mozilla.dev.servo/nJJx... ?
- cleverjake 14y agoyes, thank you very much for updating with the correct one
- pcwalton 14y agoYes, Rust and Servo both use libuv as the native async I/O layer. It's been fantastic for us as an easy-to-use API that works on Windows. Kudos to Ryan Dahl and Joyent for creating it.
- ryah 14y agoKudos should go to Bert Belder and Ben Noordhuis of Cloud9 who built much of libuv and Igor Zinkovsky of Microsoft has contributed a lot of important work as well. As well many other contributors.
- cleverjake 14y agolibuv was created by the guys that make NodeJS to make a cross platform IOCP layer for Windows and Unix
- shin_lao 14y agoHow does libuv fare compared to Boost.Asio?
- tptacek 14y agoIn what sense? The data structures behind it? The capabilities? Boost.asio doesn't do filesystem watching (last I checked). The API? At the end of the day, if you're using Boost, you're probably going to prefer Asio; libuv is somewhat more powerful. It might have more to do with whether you prefer C++ or C.
- ChuckMcM 14y agoThis is really awesome stuff, has anyone built a mobile robot application on top of it?
- chubot 14y agoWhy would you do that? The main point of it is to be portable across Windows and Unix, and I can't imagine that many robots care about that. It was developed for node.js. If your robots were running Unix then I imagine you would just use the normal C APIs or something like libev.
- ChuckMcM 14y agoWell for a long time folks have built robots by putting a laptop on to a powered set of wheels. Some folks are more comfortable with Windows, others more comfortable with Linux. Recently there has been a surge of 'android' robots as well with folks re-purposing phones and tablets to the task of controller. The 'style' of this programming is often very much event driven. Seems like a common base would be useful.
- rck 14y agoYou're right that an event-driven style is useful for programming mobile robots, but a lot of the time the tricky part is actually generating events (usually from sensors) in the first place. I haven't seen anyone use libuv for this sort of infrastructure, but ROS (www.ros.org) provides everything you need for mobile (and other forms of) robotics: publish-subscribe message passing, client-server, wrappers for common robot platforms. I think it has essentially the functionality you're talking about.
- sounds 14y agoVery nice library - documentation is only 50% done, lots of blanks.
- sigil 14y agolibev user here. While I couldn't care less about portability to windows, if libuv really does improve libev's performance on unix then consider me interested: https://github.com/joyent/libuv/issues/485 https://github.com/joyent/libuv/issues/485
- laaph 14y agoAs someone with no idea what libuv is, the book certainly doesn't explain what it is very well in the first few pages. > This ‘book’ is a small set of tutorials about using libuv as a high performance evented I/O library which offers the same API on Windows and Unix. Okay. > You will use libuv purely in the context of node.js. For this you will require some other resources as the book does not cover parts specific to v8/node.js. A library for node.js, I take it? My best guess is that libuv provides a way for using C code in javascript.