Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby bindings for libuv
branch: master
Failed to load latest commit information.
Formula Fix homebrew Formula for Mountain Lion
examples determine handle sizes once
ext update submodule
features remove old scenario
lib clear callbacks
spec clear callbacks
.gitignore put libraries under ext/libuv.(so|dll|dylib)
.gitmodules update libuv
.rspec
.travis.yml update .travis.yml
Gemfile fix missing errno classes on jruby and rbx
LICENSE add License
README.rdoc update readme
Rakefile fix build triggering from ext
uvrb.gemspec don't install libuv with the gem

README.rdoc

uv.rb - libuv FFI bindings for Ruby

Build Status

Libuv is a cross platform asynchronous IO implementation that powers NodeJS. It supports sockets, both UDP and TCP, filesystem operations, TTY, Pipes and other asynchronous primitives like timer, check, prepare and idle.

UV.rb is FFI Ruby bindings for libuv.

Usage

Create a uv loop or use a default one

require 'uv'

loop = UV::Loop.default
# or
# loop = UV::Loop.new

timer = loop.timer
timer.start(50000, 0) do |error|
  p error if error
  puts "50 seconds passed"
  timer.close
end

loop.run

Find more examples in examples directory

Installation

gem install uvrb

or

git clone ...
cd ...
bundle install

Prerequisites

  • The installation requires subversion to be installed on your system and available on the PATH

  • Windows users will require a copy of Visual Studio 2010 or later installed. Express works fine.

What's supported

  • TCP

  • UDP

  • TTY

  • Pipe

  • Timer

  • Prepare

  • Check

  • Idle

  • Async

  • Filesystem

  • File

  • FSEvent

  • Errors

  • work queue

TODO

  • Port rest of libuv - ares, getaddrinfo, process, mutexes and locks

  • Tests tests tests

  • Docs docs docs

Something went wrong with that request. Please try again.