]> Cypherpunks repositories - gostls13.git/commitdiff
clean up server code in tutorial
authorRob Pike <r@golang.org>
Fri, 30 Jan 2009 18:18:58 +0000 (10:18 -0800)
committerRob Pike <r@golang.org>
Fri, 30 Jan 2009 18:18:58 +0000 (10:18 -0800)
R=rsc
DELTA=15  (1 added, 0 deleted, 14 changed)
OCL=23889
CL=23889

doc/go_tutorial.txt
doc/progs/run
doc/progs/server.go
doc/progs/server1.go

index e79a5f598d752b7f3c645e7a1889cd24225237a2..074259c4af9db20881a9ae36089962b241a0b367 100644 (file)
@@ -755,7 +755,7 @@ With channels, it's possible to serve multiple independent client goroutines wit
 writing an actual multiplexer.  The trick is to send the server a channel in the message,
 which it will then use to reply to the original sender.
 A realistic client-server program is a lot of code, so here is a very simple substitute
-to illustrate the idea.  It starts by defining a "Request" type, which embeds a channel
+to illustrate the idea.  It starts by defining a "request" type, which embeds a channel
 that will be used for the reply.
 
 --PROG progs/server.go /type.request/ /^}/
index ece3fcaf1c45a033daff930b84ddfd1ef9da6705..f93bb65a6a5df87cbd54240c9193a937e5dc16e7 100755 (executable)
@@ -68,7 +68,8 @@ testit print_string "" "77 Sunset Strip"
 testitpipe sieve "sed 10q" "2 3 5 7 11 13 17 19 23 29"
 testitpipe sieve "sed 10q" "2 3 5 7 11 13 17 19 23 29"
 
-# server hangs; don't run it
+# server hangs; don't run it, just compile it
+6g server.go
 testit server1 "" ""
 
 rm -f 6.out *.6
index 32d40f9ab3adad200d575a657eb1d086d89c9a57..ab860891af18f9386bbdabd929f1a61e363d4a95 100644 (file)
@@ -11,21 +11,21 @@ type request struct {
 
 type binOp (a, b int) int;
 
-func run(op *BinOp, request *Request) {
-       result := op(request.a, request.b);
-       request.replyc <- result;
+func run(op *binOp, req *request) {
+       result := op(req.a, req.b);
+       req.replyc <- result;
 }
 
-func server(op *BinOp, service chan *Request) {
+func server(op *binOp, service chan *request) {
        for {
-               request := <-service;
-               go run(op, request);  // don't wait for it
+               req := <-service;
+               go run(op, req);  // don't wait for it
        }
 }
 
-func startServer(op *BinOp) chan *Request {
-       req := make(chan *Request);
-       go Server(op, req);
+func startServer(op *binOp) chan *request {
+       req := make(chan *request);
+       go server(op, req);
        return req;
 }
 
index a547f6af00ec87e1f0a9165b8ed90fc74be854cf..fe04eb4137cc9acadfc25e261a653b5c399d7021 100644 (file)
@@ -11,9 +11,9 @@ type request struct {
 
 type binOp (a, b int) int;
 
-func run(op *binOp, request *request) {
-       result := op(request.a, request.b);
-       request.replyc <- result;
+func run(op *binOp, req *request) {
+       result := op(req.a, req.b);
+       req.replyc <- result;
 }
 
 func server(op *binOp, service chan *request, quit chan bool) {