<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,6 +2,7 @@
 
 Starling - a light weight server for reliable distributed message passing.
 
+
 = Description
 
 Starling is a powerful but simple messaging server that enables reliable
@@ -9,33 +10,74 @@ distributed queuing with an absolutely minimal overhead. It speaks the
 MemCache protocol for maximum cross-platform compatibility. Any language
 that speaks MemCache can take advantage of Starling's queue facilities.
 
-= Usage
 
-  # Start the Starling server as a daemonized process:
-  starling -h 192.168.1.1 -d
+= Installation
+
+  This fork of the Starling source is hosted at GitHub and can be found at:
+
+  http://github.com/anotherbritt/starling/tree/master
+
+  The original source was to be found at RubyForge but no longer exists there.
+
+  GitHub serves gems prefixed by a username to differentiate different forks.
+  This project can be installed with:
+
+  # THIS COMMAND ONE TIME ONLY
+  gem sources -a http://gems.github.com/
+
+  # As often as you like
+  sudo gem install anotherbritt-starling
+
+  See http://gems.github.com/ if you want more info about GitHub and gems.
 
-  # Put messages onto a queue:
-  require 'memcache'
-  starling = MemCache.new('192.168.1.1:22122')
-  starling.set('my_queue', 12345)
+= Quick Start Usage
 
-  # Get messages from the queue:
-  require 'memcache'
-  starling = MemCache.new('192.168.1.1:22122')
-  loop { puts starling.get('my_queue') }
+  # View the Starling help and usage message
+  starling --help
+
+  # In a console window start the Starling server.  By default
+  # it runs verbosely in the foreground, listening on 127.0.0.1:22122
+  # and stores its files under /tmp/starling:
+  starling
+
+  # In a new console test the put and get of messages on a queue:
+
+  ~/src/git/starling (master)\ &gt; irb
+  &gt;&gt; require 'memcache'
+  =&gt; true
+  &gt;&gt; starling = MemCache.new('127.0.0.1:22122')
+  =&gt; MemCache: 1 servers, 1 buckets, ns: nil, ro: false
+  &gt;&gt; starling.set('my_queue', 12345)
+  =&gt; nil
+  &gt;&gt; starling.get('my_queue')
+  =&gt; 12345
+
+  # You can do a simple loop over a queue with something like:
+  &gt;&gt; loop { puts starling.get('my_queue'); sleep 1 }
+  12345
+  nil
+  nil
+  ...
+
+  For more information run the following in a new console:
+  'gem server'
+
+  This will start a gem server on http://localhost:8808/ which you can view in your
+  browser to see the RDocs for the gem.
 
-  # See the Starling documentation for more information.
 
 = Known Issues
 
 * Starling is &quot;slow&quot; as far as messaging systems are concerned. In practice,
   it's fast enough.
 
+
 = Authors
 
 Blaine Cook &lt;romeda@gmail.com&gt;
 AnotherBritt
 
+
 = Copyright
 
 Starling - a light-weight server for reliable distributed message passing.</diff>
      <filename>README.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -46,11 +46,11 @@ module StarlingServer
     def parse_options
       self.options = { :host =&gt; '127.0.0.1',
                        :port =&gt; 22122,
-                       :path =&gt; File.join(%w( / var spool starling )),
-                       :log_level =&gt; Logger::ERROR,
+                       :path =&gt; File.join(%w( / tmp starling spool )),
+                       :log_level =&gt; Logger::INFO,
                        :daemonize =&gt; false,
                        :timeout =&gt; 0,
-                       :pid_file =&gt; File.join(%w( / var run starling.pid )) }
+                       :pid_file =&gt; File.join(%w( / tmp starling starling.pid )) }
 
       OptionParser.new do |opts|
         opts.summary_width = 25
@@ -257,6 +257,7 @@ module StarlingServer
 
     def write_pid_file
       return unless @pid_file
+      FileUtils.mkdir_p(File.dirname(@pid_file))
       File.open(@pid_file, &quot;w&quot;) { |f| f.write(Process.pid) }
       File.chmod(0644, @pid_file)
     end</diff>
      <filename>lib/starling/runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -35,7 +35,7 @@ module StarlingServer
     #   [:loglevel] Logger verbosity. Default is Logger::ERROR.
     #
     # Other options are ignored.
-    
+
     def self.start(opts = {})
       server = self.new(opts)
       server.run
@@ -46,9 +46,9 @@ module StarlingServer
     # process requests.
     #
     # +opts+ is as for +start+
-    
+
     def initialize(opts = {})
-      @opts = { 
+      @opts = {
         :host    =&gt; DEFAULT_HOST,
         :port    =&gt; DEFAULT_PORT,
         :path    =&gt; DEFAULT_PATH,
@@ -57,6 +57,9 @@ module StarlingServer
       }.merge(opts)
 
       @stats = Hash.new(0)
+
+      FileUtils.mkdir_p(@opts[:path])
+
     end
 
     ##
@@ -66,17 +69,17 @@ module StarlingServer
       @stats[:start_time] = Time.now
 
       @@logger = case @opts[:logger]
-      when IO, String; Logger.new(@opts[:logger])
-      when Logger; @opts[:logger]
-      else; Logger.new(STDERR)
-      end
+                 when IO, String; Logger.new(@opts[:logger])
+                 when Logger; @opts[:logger]
+                 else; Logger.new(STDERR)
+                 end
       @@logger = SyslogLogger.new(@opts[:syslog_channel]) if @opts[:syslog_channel]
 
       @opts[:queue] = QueueCollection.new(@opts[:path])
       @@logger.level = @opts[:log_level] || Logger::ERROR
 
       @@logger.info &quot;Starling STARTUP on #{@opts[:host]}:#{@opts[:port]}&quot;
-      
+
       EventMachine.epoll
       EventMachine.set_descriptor_table_size(4096)
       EventMachine.run do
@@ -91,7 +94,7 @@ module StarlingServer
       @@logger
     end
 
-    
+
     ##
     # Stop accepting new connections and shutdown gracefully.
 </diff>
      <filename>lib/starling/server.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 starling:
   port: 22122
-  pid_file: /tmp/starling.pid
-  queue_path: /tmp
+  pid_file: /tmp/starling/starling.pid
+  queue_path: /tmp/starling/spool
   timeout: 0
   syslog_channel: starling-tampopo
   log_level: DEBUG</diff>
      <filename>sample-config.yml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>572089a9ae79ab10373042c3c86b170d6603cba1</id>
    </parent>
  </parents>
  <author>
    <name>Glenn Rempe</name>
    <email>glenn@rempe.us</email>
  </author>
  <url>http://github.com/defunkt/starling/commit/4c606a4ece4f5a17b49fb2d40d627f594d1d50b8</url>
  <id>4c606a4ece4f5a17b49fb2d40d627f594d1d50b8</id>
  <committed-date>2008-04-28T16:10:40-07:00</committed-date>
  <authored-date>2008-04-28T16:10:40-07:00</authored-date>
  <message>Updated README and consistent use of default dirs.

* Default settings would not work before unless the user created
  some root only accessible dirs e.g. /var/starling/spool.  Made
  default now use /tmp/starling for quick start.  User can override
  in config or with CLI switches.
* Create needed dirs on startup if they don't exist.
* Improved README docs.</message>
  <tree>ff04a1380aeba14b3a73d73426d9d8dd45557935</tree>
  <committer>
    <name>Glenn Rempe</name>
    <email>glenn@rempe.us</email>
  </committer>
</commit>
