csFIFO is an open source project powered by Assembla

Assembla offers free public and private SVN/Git repositories and project hosting with bug/issue tracking and collaboration tools.

/tags
 
Name Date Commit message Revision
..
csFIFO 2013-02-28 [jason] removed stream= from 25
pypi.sh 2013-02-07 [jason] Added remove build folders to pypi script 20
README.txt 2013-02-28 [jason] Bumped rev 26
setup.py 2013-02-28 [jason] Bumped rev 26
README.txt
======
csFIFO
======

A simple FIFO that includes non destructive inspection, based on a cStringIO circular buffer
--------------------------------------------------------------------------------------------

**License:**

Creative Commons CC-BY-SA 3.0, see README.TXT

**Changes:**

| 1.0  Original Release
| 1.1  Changed write to look like other file operations and return a number
| 1.2  Added threading test and fixed bug with read/write stats, improved inspection slicing
| 1.3  Fix issue with stats printing if FIFO is not written
|      Improve debugging if multiple FIFO instances used. Added idle timer
| 1.4  Removed stream parameter from logging.StreamHandler() for python2.6 compatibility

**Known Bugs:**

None that I know of (eek)

**Credit:**

All credit to the posting by Cameron on StackOverflow, here:
http://stackoverflow.com/questions/10917581/efficient-fifo-queue-for-arbitrarily-sized-chunks-of-bytes-in-python

**Usage:**
::

 import csFIFO

 f1=csFIFO()
 data="Message"
 f1.write(data)
 size=2
 data=f1.read(size)
 f1.purge()

 f2=csFIFO(max_size=1024*1024)
 f2.write("Hello World")
 if not f2.isEmpty():
   #Print some stats
   print f2

 #Non-destructive inspection
 print f2[:5]
 print f2[4:8]
 print f2[-5:]
 print f2.contents()

**Dependencies:**

None that I know of
Ajax-loader Loading, please wait...