Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-39

Implement pn_offer for sender links

    XMLWordPrintableJSON

Details

    Description

      The proposed patch adds two functions to the engine API:

      void pn_offer(link, credit)
      bool pn_connection_links_writeable(conn)

      pn_offer is used by the attached node to indicate to the engine that it has messages available for immediate transfer over the link.

      pn_connection_links_writable returns true if the connection has at least one outgoing link with both receiver credit and offered credit. This is used by the driver to ensure that the connection's FD (or equivalent) is in the set of writable FDs to be processed it the outgoing transport is writable.

      Note that pn_offer is absolute (not cumulative). The attached node is responsible for keeping the offer vaule up-to-date as messages are sent and received.

      The patch does not make any changes to the protocol exchange. Additional work is needed to communicate the offer information to the remote receiver so the receiver can intelligently manage its credits.

      The driving need for this change is for driver functionality. pn_offer is the cleanest mechanism for a node to tell the driver that an outbound link's connection should be processed.

      Attachments

        1. proton-39.patch
          5 kB
          Ted Ross

        Activity

          People

            Unassigned Unassigned
            tross Ted Ross
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: