﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>James L commented on Rhino.Queues.Storage.Disk</title><description>You're a one-man API factory.  Amazing.
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment9</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment9</guid><pubDate>Mon, 04 Aug 2008 08:19:29 GMT</pubDate></item><item><title>Marco commented on Rhino.Queues.Storage.Disk</title><description>@Frans, you're watching your competitors very goed.. ;-)
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment8</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment8</guid><pubDate>Sat, 02 Aug 2008 17:10:43 GMT</pubDate></item><item><title>Frans Bouma commented on Rhino.Queues.Storage.Disk</title><description>@Marco: isn't x-tensive doing that already for the past, what... 3 years? Every time they're re-re-re-re-re-rewriting what they have to capture even more things in the universe. 
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment7</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment7</guid><pubDate>Sat, 02 Aug 2008 09:00:34 GMT</pubDate></item><item><title>Marco commented on Rhino.Queues.Storage.Disk</title><description>You should contact Alex from x-tensive.com.. They are also building a DB Storage without a DB, see
  
http://blog.x-tensive.com/2008/02/still-no-ctp.html
  
and other blogposts..
  
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment6</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment6</guid><pubDate>Fri, 01 Aug 2008 20:38:55 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino.Queues.Storage.Disk</title><description>Yes, you would.
  
Several named queues:
  
new PersistentQueue("QueuesDir", "foo")
  
new PersistentQueue("QueuesDir", "bar")
  
  
Each would have their own sub directory in the main one
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment5</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment5</guid><pubDate>Fri, 01 Aug 2008 20:37:40 GMT</pubDate></item><item><title>Nathan commented on Rhino.Queues.Storage.Disk</title><description>So if you wanted to have several queues in a single process, I presume you would create several PersistentQueue objects (one per queue) each with a different path? Any way to have "named" queues that can share a path? 
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment4</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment4</guid><pubDate>Fri, 01 Aug 2008 20:26:20 GMT</pubDate></item><item><title>Nathan commented on Rhino.Queues.Storage.Disk</title><description>Excellent! I can't wait to put this thing to work.
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment3</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment3</guid><pubDate>Fri, 01 Aug 2008 19:32:15 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino.Queues.Storage.Disk</title><description>Justin,
  
I used a queue of (comb) guids as well as a btree keyed by the guids together. That allowed fast access and still let me have variable length data.
  
  
As for threading issues, there is a bug in BDB 4.5, which is the only version that has a .NET API. I wasn't going to write my own.
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment2</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment2</guid><pubDate>Fri, 01 Aug 2008 19:31:43 GMT</pubDate></item><item><title>Justin Rudd commented on Rhino.Queues.Storage.Disk</title><description>Cool stuff.  Question - in your BDB experiments why did you use a BTree instead of their Queue table storage?  Just curious.   I've used it with great success from C++ and Java having 100's of threads access it.
  
  
From their docs...
  
  
"Data is stored in a queue as fixed-length records. Each record uses a logical record number as its key. This access method is designed for fast inserts at the tail of the queue, and it has a special operation that deletes and returns a record from the head of the queue.
  
  
This access method is unusual in that it provides record level locking. This can provide beneficial performance improvements in applications requiring concurrent access to the queue."
</description><link>http://ayende.com/3479/rhino-queues-storage-disk#comment1</link><guid>http://ayende.com/3479/rhino-queues-storage-disk#comment1</guid><pubDate>Fri, 01 Aug 2008 19:26:33 GMT</pubDate></item></channel></rss>