= qu ===== observable signal channels simple channels that act as breakers or momentary one-shot triggers. can enable logging to get detailed information on channel state, and channels do not panic if closed channels are attempted to be closed or signalled with. provides a neat function based syntax for usage. wait function does require use of the `<-` receive operator prefix to be used in a select statement. == usage === creating channels: ==== unbuffered ---- newSigChan := qu.T() ---- ==== buffered ---- newBufferedSigChan := qu.Ts(5) ---- ==== closing ---- newSigChan.Q() ---- ==== signalling ---- newBufferedSigChan.Signal() ---- ==== logging features ---- numberOpenUnbufferedChannels := GetOpenUnbufferedChanCount() numberOpenBufferedChannels := GetOpenBufferedChanCount() ---- print a list of closed and open channels known by qu: ---- PrintChanState() ---- == garbage collection this library automatically cleans up closed channels once a minute to free resources that have become unused.