code: def get_extra_info(self, name, default=None):
          
  
          # Handle data we know about
          if name in self._handlers:
              return self._handlers[name](self)
  
          # Call get_extra_info() on the transport
          return self._transport.get_extra_info(name, default=default)
docs: Called by the client protocol to return optional transport
          information.  Information requests not recognized by the
          ``FramerProtocol`` are passed on to the underlying transport.
  
          The values of ``name`` recognized directly by
          ``FramerProtocol`` are:
  
          ===============  ============================================
          Value            Description
          ===============  ============================================
          send_framer      The active framer for the send direction.
          send_state       The state for the send framer.
          recv_framer      The active framer for the receive direction.
          recv_state       The state for the receive framer.
          recv_buf         The current receive buffer.
          recv_paused      ``True`` if reading is paused.
          client_protocol  The client ``FramedProtocol``.
          transport        The underlying transport.
          ===============  ============================================
  
          :param name: A string representing the piece of
                       transport-specific information to get.
          :param default: The value to return if the information doesn't
                          exist.
  
          :returns: The requested data.