README.adoc raw

   1  = qu
   2  
   3  ===== observable signal channels
   4  
   5  simple channels that act as breakers or momentary one-shot triggers.
   6  
   7  can enable logging to get detailed information on channel state, and channels do
   8  not panic if closed channels are attempted to be closed or signalled with.
   9  
  10  provides a neat function based syntax for usage.
  11  
  12  wait function does require use of the `<-` receive operator prefix to be used in
  13  a select statement.
  14  
  15  == usage
  16  
  17  === creating channels:
  18  
  19  ==== unbuffered
  20  
  21  ----
  22  newSigChan := qu.T()
  23  ----
  24  
  25  ==== buffered
  26  
  27  ----
  28  newBufferedSigChan := qu.Ts(5)
  29  ----
  30  
  31  ==== closing
  32  
  33  ----
  34  newSigChan.Q()
  35  ----
  36  
  37  ==== signalling
  38  
  39  ----
  40  newBufferedSigChan.Signal()
  41  ----
  42  
  43  ==== logging features
  44  
  45  ----
  46  numberOpenUnbufferedChannels := GetOpenUnbufferedChanCount()
  47  
  48  numberOpenBufferedChannels := GetOpenBufferedChanCount()
  49  ----
  50  
  51  print a list of closed and open channels known by qu:
  52  
  53  ----
  54  PrintChanState() 
  55  ----
  56  
  57  == garbage collection
  58  
  59  this library automatically cleans up closed channels once a minute to free
  60  resources that have become unused.