# File lib/messenger/messenger.rb, line 522
    def selectable
      impl = Cproton.pn_messenger_selectable(@impl)

      # if we don't have any selectables, then return
      return nil if impl.nil?

      fd = Cproton.pn_selectable_get_fd(impl)

      selectable = @selectables[fd]
      if selectable.nil?
        selectable = Selectable.new(self, impl)
        @selectables[fd] = selectable
      end
      return selectable
    end