code: def sync_proxy(self, mri, block):
          
          # Send a root Subscribe to the server
          subscribe = Subscribe(path=[mri], delta=True)
          done_queue = Queue()
  
          def handle_response(response):
              # Called from tornado
              if not isinstance(response, Delta):
                  # Return or Error is the end of our subscription, log and ignore
                  self.log.debug("Proxy got response %r", response)
                  done_queue.put(None)
              else:
                  cothread.Callback(
                      self._handle_response, response, block, done_queue)
  
          subscribe.set_callback(handle_response)
          IOLoopHelper.call(self._send_request, subscribe)
          done_queue.get(timeout=DEFAULT_TIMEOUT)
docs: Abstract method telling the ClientComms to sync this proxy Block
          with its remote counterpart. Should wait until it is connected
  
          Args:
              mri (str): The mri for the remote block
              block (BlockModel): The local proxy Block to keep in sync