code: def send(self, item, timeout=-1):
          
          if not self.ready:
              self.pause(timeout=timeout)
  
          if isinstance(item, Exception):
              return self.hub.throw_to(self.other.peak, item)
  
          return self.hub.switch_to(self.other.peak, self.other, item)
docs: Send an *item* on this pair. This will block unless our Rever is ready,
          either forever or until *timeout* milliseconds.