1
Cake
Package cake provides a simulation of a concurrent cake shop with numerous parameters. Use this command to run the benchmarks: $ go test -bench=. gopl.io/ch8/cake
2
Chat
Chat is a server that lets clients chat with each other.
3
Clock1
Clock1 is a TCP server that periodically writes the time.
4
Clock2
Clock is a TCP server that periodically writes the time.
5
Countdown1
Countdown implements the countdown for a rocket launch.
6
Countdown2
Countdown implements the countdown for a rocket launch.
7
Countdown3
Countdown implements the countdown for a rocket launch.
8
Crawl1
Crawl1 crawls web links starting with the command-line arguments. This version quickly exhausts available file descriptors due to excessive concurrent calls to links.Extract. Also, it never terminates because the worklist is never closed.
9
Crawl2
Crawl2 crawls web links starting with the command-line arguments. This version uses a buffered channel as a counting semaphore to limit the number of concurrent calls to links.Extract.
10
Crawl3
Crawl3 crawls web links starting with the command-line arguments. This version uses bounded parallelism. For simplicity, it does not address the termination problem.
11
Du1
The du1 command computes the disk usage of the files in a directory.
12
Du2
The du2 command computes the disk usage of the files in a directory.
13
Du3
The du3 command computes the disk usage of the files in a directory.
14
Du4
The du4 command computes the disk usage of the files in a directory.
15
Netcat1
Netcat1 is a read-only TCP client.
16
Netcat2
Netcat is a simple read/write client for TCP servers.
17
Netcat3
Netcat is a simple read/write client for TCP servers.
18
Pipeline1
Pipeline1 demonstrates an infinite 3-stage pipeline.
19
Pipeline2
Pipeline2 demonstrates a finite 3-stage pipeline.
20
Pipeline3
Pipeline3 demonstrates a finite 3-stage pipeline with range, close, and unidirectional channel types.
21
Reverb1
Reverb1 is a TCP server that simulates an echo.
22
Reverb2
Reverb2 is a TCP server that simulates an echo.
23
Spinner
Spinner displays an animation while computing the 45th Fibonacci number.
24
Thumbnail
The thumbnail command produces thumbnails of JPEG files whose names are provided on each line of the standard input. The "+build ignore" tag (see p.295) excludes this file from the thumbnail package, but it can be compiled as a command and run like this: Run with: $ go run $GOPATH/src/gopl.io/ch8/thumbnail/main.go foo.jpeg ^D