2798: Finished writing documentation comment for buffer package.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 19 May 2014 19:15:01 +0000 (15:15 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 19 May 2014 19:15:01 +0000 (15:15 -0400)
sdk/go/src/arvados.org/buffer/buffer.go

index 81a9ca3b57fbc573ec1c653bdbb1f9e4c94daa4c..e2ee1c4970060f01c36c2fbe75914d5e325d9116 100644 (file)
@@ -1,9 +1,23 @@
-/* Implements a buffer that is filled incrementally from a io.Reader and
-supports multiple readers on the buffer.
+/* Implements a buffer that supports concurrent incremental read and append.
+New readers start reading from the beginning of the buffer, block when reaching
+the end of the buffer, and are unblocked as new data is added.
 
 Usage:
 
-To
+Begin reading into a buffer with maximum size 'buffersize' from 'source':
+  tr := StartTransferFromReader(buffersize, source)
+
+To create a new reader (this can be called multiple times):
+  r := tr.MakeBufferReader()
+
+When you're done with the buffer:
+  tr.Close()
+
+
+Alternately, if you already have a filled buffer and just want to read out from it:
+  tr := StartTransferFromSlice(buf)
+  r := tr.MakeBufferReader()
+  tr.Close()
 
 */