Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Small framework to simplify process-to-process communication.
Ruby CSS
tree: ca85b7b2df

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
benchmark
designs
examples
lib
spec
.gitignore
.yardopts
Gemfile
Gemfile.lock
Guardfile
HISTORY.txt
LICENSE
README
Rakefile
cod.gemspec

README

Some people, when confronted with a problem, think "I know, I'll use
multithreading". Nothhw tpe yawrve o oblems.[1]

Don't use threads, use processes. This is the toolkit for interprocess
communication that makes it real simple. A good place to start is the
documentation for the Cod module.

SYNOPSIS

  # Cod's basic elements are channels, unidirectional communication links. 
  pipe = Cod.pipe
  
  # You can use those either directly: 
  pipe.put :some_ruby_object        # Process A
  pipe.get # => :some_ruby_object   # Process B
  
  # Or use them as bricks for more: 
  service = beanstalk.service
  client  = beanstalk.client(pipe)
  
  service.one { |msg| :response }               # Process A
  client.call :ruby_object    # => :response    # Process B
    
STATUS

Working library. Some rough edges and potential for growth. Have a look at the 
Cod module to get started.

Working transports include: 

* process (spawn, connecting to $stdout and $stdin)
* stdio (connects to $stdout and $stdin of current process)
* pipe (akin to IO.pipe)
* tcp (server and client)
* beanstalk (connects to beanstalkd)

At version 0.4.4

(c) 2011 Kaspar Schiess

[1] https://twitter.com/rogerbraun/status/160813717502705664
Something went wrong with that request. Please try again.