code: func (m *Stub) ListAndWatch(e *pluginapi.Empty, s pluginapi.DevicePlugin_ListAndWatchServer) error {
  	log.Println("ListAndWatch")
  
  	s.Send(&pluginapi.ListAndWatchResponse{Devices: m.devs})
  
  	for {
  		select {
  		case <-m.stop:
  			return nil
  		case updated := <-m.update:
  			s.Send(&pluginapi.ListAndWatchResponse{Devices: updated})
  		}
  	}
  }
docs: // ListAndWatch lists devices and update that list according to the Update call