]> Cypherpunks repositories - gostls13.git/commitdiff
netchan: rather than 0, make -1 mean infinite, by analogy with strings.Split etc.
authorRob Pike <r@golang.org>
Wed, 1 Sep 2010 22:10:53 +0000 (08:10 +1000)
committerRob Pike <r@golang.org>
Wed, 1 Sep 2010 22:10:53 +0000 (08:10 +1000)
It's unlikely to affect any extant code, but I wanted to make this API change
before digging in for a rewrite.

R=rsc
CC=golang-dev
https://golang.org/cl/2112041

src/pkg/netchan/export.go
src/pkg/netchan/import.go

index a16714ba23e482bab1a4b4a89a71fabefbe01f9d..3142eebf736d5b959322b45b4b0dc061d796f283 100644 (file)
@@ -154,8 +154,9 @@ func (client *expClient) serveRecv(hdr header, count int) {
                        client.sendError(&hdr, err.String())
                        break
                }
-               if count > 0 {
-                       if count--; count == 0 {
+               // Negative count means run forever.
+               if count >= 0 {
+                       if count--; count <= 0 {
                                break
                        }
                }
index 244a83c5bcc437a2db1625f59975921b7634d694..1effbaef4a06db47c8fdd49e09c939f9b12a0dcd 100644 (file)
@@ -114,14 +114,14 @@ func (imp *Importer) run() {
 }
 
 // Import imports a channel of the given type and specified direction.
-// It is equivalent to ImportNValues with a count of 0, meaning unbounded.
+// It is equivalent to ImportNValues with a count of -1, meaning unbounded.
 func (imp *Importer) Import(name string, chT interface{}, dir Dir) os.Error {
        return imp.ImportNValues(name, chT, dir, 0)
 }
 
 // ImportNValues imports a channel of the given type and specified direction
 // and then receives or transmits up to n values on that channel.  A value of
-// n==0 implies an unbounded number of values.  The channel to be bound to
+// n==-1 implies an unbounded number of values.  The channel to be bound to
 // the remote site's channel is provided in the call and may be of arbitrary
 // channel type.
 // Despite the literal signature, the effective signature is