Also add a bit of debugging and sanitation code.
Fixes #769.
R=adg
CC=golang-dev
https://golang.org/cl/
2206042
Send
)
+func (dir Dir) String() string {
+ switch dir {
+ case Recv:
+ return "Recv"
+ case Send:
+ return "Send"
+ }
+ return "???"
+}
+
// Payload types
const (
payRequest = iota // request structure follows
*/
package netchan
-// BUG: can't use range clause to receive when using ImportNValues with N non-zero.
+// BUG: can't use range clause to receive when using ImportNValues to limit the count.
import (
"log"
reqValue := reflect.NewValue(req)
error := new(error)
for {
+ *hdr = header{}
if err := client.decode(hdrValue); err != nil {
log.Stderr("error decoding client header:", err)
break
err := new(error)
errValue := reflect.NewValue(err)
for {
+ *hdr = header{}
if e := imp.decode(hdrValue); e != nil {
log.Stderr("importer header:", e)
imp.shutdown()
}
if dir == Send {
go func() {
- for i := 0; n == 0 || i < n; i++ {
+ for i := 0; n == -1 || i < n; i++ {
val := ch.Recv()
if err := imp.encode(hdr, payData, val.Interface()); err != nil {
log.Stderr("error encoding client response:", err)