code: func heartbeatTask(c *asyncConnHdl, ctl workerCtl) (sig *interrupt_code, te *taskStatus) {
  	var async AsyncConnection = c
  	select {
  	//	case <-NewTimer(ns1Sec * c.spec().heartbeat):
  	case <-time.NewTimer(c.spec().heartbeat).C:
  		response, e := async.QueueRequest(&PING, [][]byte{})
  		if e != nil {
  			return nil, &taskStatus{reqerr, e}
  		}
  		stat, re, timedout := response.future.(FutureBool).TryGet(1 * time.Second)
  		if re != nil {
  			log.Printf("ERROR: Heartbeat recieved error response on PING: %d\n", re)
  			return nil, &taskStatus{error_, re}
  		} else if timedout {
  			log.Println("Warning: Heartbeat timeout on get PING response.")
  		} else {
  			// flytrap
  			if stat != true {
  				log.Println("<BUG> Heartbeat recieved false stat on PING while response error was nil")
  				//				return nil, &taskStatus{error_, NewError(SYSTEM_ERR, "BUG false stat on PING w/out error")}
  				return nil, &taskStatus{error_, newSystemError("BUG false stat on PING w/out error")}
  			}
  		}
  	case sig := <-ctl:
  		return &sig, &ok_status
  	}
  	return nil, &ok_status
  }
docs: // Task:
  // "One PING only" after receiving a timed tick per ConnectionsSpec period
  // - can be interrupted while waiting on ticker
  // - uses TryGet on PING response (1 sec as of now)
  //
  // KNOWN ISSUE:
  // possible connection is OK but TryGet timesout and now we just log a warning
  // but it is a good measure of latencies in the pipeline and perhaps could be used
  // to auto-configure the pipeline params to decrease latencies ... TODO