chickadee » gochan » gochan-select

(gochan-select (<chan> <var> body ...) ... (<timeout/seconds> body ...))syntax

Convenience syntax for handling incoming messages from different gochans differently. Used as in Go, typically:

(gochan-select
 (chan1 msg (error "from c1" msg))
 (chan2 obj (list  "from c2" obj))
 (1 (error "waited one second, but got nothing!")))

It is an error to specify multiple timeouts. gochan-select returns the associated channel's body return-value.