<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_extra_info(self, name, default=None):
 """ 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. """


        # 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)