code: def set_deferred_transfer(self, enable):
          
          if self._deferred_transfer and not enable:
              self.flush()
          self._deferred_transfer = enable
docs: Allow transfers to be delayed and buffered
  
          By default deferred transfers are turned off.  All reads and
          writes will be completed by the time the function returns.
  
          When enabled packets are buffered and sent all at once, which
          increases speed.  When memory is written to, the transfer
          might take place immediately, or might take place on a future
          memory write.  This means that an invalid write could cause an
          exception to occur on a later, unrelated write.  To guarantee
          that previous writes are complete call the flush() function.
  
          The behaviour of read operations is determined by the modes
          READ_START, READ_NOW and READ_END.  The option READ_NOW is the
          default and will cause the read to flush all previous writes,
          and read the data immediately.  To improve performance, multiple
          reads can be made using READ_START and finished later with READ_NOW.
          This allows the reads to be buffered and sent at once.  Note - All
          READ_ENDs must be called before a call using READ_NOW can be made.