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.

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)