code: func (nc *nccClient) call(name string, in interface{}, out interface{}) error {
  	nc.lock.RLock()
  	client := nc.client
  	nc.lock.RUnlock()
  	if client == nil {
  		return fmt.Errorf("Not connected")
  	}
  	ch := make(chan error, 1)
  	go func() {
  		ch <- client.Call(name, in, out)
  	}()
  	select {
  	case err := <-ch:
  		return err
  	case <-time.After(nccRPCTimeout):
  		return fmt.Errorf("RPC call timed out after %v", nccRPCTimeout)
  	}
  }
docs: // call performs an RPC call to the Seesaw v2 nccClient.