Use context to stop sending values rather than trying to detect channel close

This commit is contained in:
2022-05-01 15:13:07 -07:00
parent 6df8cf53c6
commit b53388122c
2 changed files with 24 additions and 26 deletions

View File

@@ -1,6 +1,7 @@
package main
import (
"context"
"encoding/gob"
"fmt"
"net"
@@ -12,21 +13,23 @@ import (
func main() {
gob.Register([2]int{})
ctx := context.Background()
conn, _ := net.Dial("tcp", "localhost:9090")
c := client.New(conn, codec.Gob)
defer c.Close()
var add int
c.Call("Arith", "Add", [2]int{5, 5}, &add)
c.Call(ctx, "Arith", "Add", [2]int{5, 5}, &add)
var sub int
c.Call("Arith", "Sub", [2]int{5, 5}, &sub)
c.Call(ctx, "Arith", "Sub", [2]int{5, 5}, &sub)
var mul int
c.Call("Arith", "Mul", [2]int{5, 5}, &mul)
c.Call(ctx, "Arith", "Mul", [2]int{5, 5}, &mul)
var div int
c.Call("Arith", "Div", [2]int{5, 5}, &div)
c.Call(ctx, "Arith", "Div", [2]int{5, 5}, &div)
fmt.Printf(
"add: %d, sub: %d, mul: %d, div: %d\n",