Sha256: fce3a42dff1567229e8ef05807adf8692e1e2a33d21d52f4002fb53b535fddfe

Contents?: true

Size: 1.38 KB

Versions: 5

Compression:

Stored size: 1.38 KB

Contents

= uv.rb - libuv FFI bindings for Ruby
{<img src="https://secure.travis-ci.org/avalanche123/uvrb.png?branch=master" alt="Build Status" />}[http://travis-ci.org/avalanche123/uvrb]

{Libuv}[https://github.com/joyent/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}[http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products] 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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
uvrb-0.2.0 README.rdoc
uvrb-0.1.4 README.rdoc
uvrb-0.1.3 README.rdoc
uvrb-0.1.2 README.rdoc
uvrb-0.1.1 README.rdoc