code: def timeout(self, timeout):
          '''Set a new :attr:`timeout` for this protocol
          '''
          if self._timeout is None:
              self.event('connection_made').bind(self._add_timeout)
              self.event('connection_lost').bind(self._cancel_timeout)
          self._timeout = timeout or 0
          self._add_timeout(Nonef timeout(self, timeout):
          '''Set a new :attr:`timeout` for this protocol
          '''
          if self._timeout is None:
              self.event('connection_made').bind(self._add_timeout)
              self.event('connection_lost').bind(self._cancel_timeout)
          self._timeout = timeout or 0
          self._add_timeout(None)
docs: Set a new :attr:`timeout` for this protocol