Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-c-0.17.0
    • proton-c-0.18.0
    • proton-c
    • None

    Description

      Change ownership model for pn_connection_t and pn_listener_t managed by the proactor: instead of proactor freeing automatically after the final event, the user must free on or after the final event.

      There are 2 basic use cases:

      1. Free connection/listener immediately on the last event.

      2. Keep connection/listener in memory until all application pointers are cleaned up.

      Proactor ownership does 1. very well, but makes 2. very difficult without
      exposing reference-counts.

      User ownership supports both reasonably easily: 1. is implemented by calling pn_connection_free() or pn_listener_free() in the event handler on the last event.

      Attachments

        Activity

          aconway Alan Conway created issue -

          Commit a85c89ac8c1b8a19fae0b32cab6549e8d9d1ce24 in qpid-proton's branch refs/heads/master from aconway
          [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=a85c89a ]

          PROTON-1445: Change proactor ownership model

          Changed ownership model for pn_connection_t and pn_listener_t managed by the
          proactor: instead of proactor freeing automatically after the final event, the
          user must free on or after the final event.

          There are 2 basic use cases:

          1. Free connection/listener immediately on the last event.

          2. Keep connection/listener in memory until all application pointers are cleaned up.

          Proactor ownership does 1. very well, but makes 2. very difficult without
          exposing reference-counts.

          User ownership supports both reasonably easily: 1. is implemented by calling
          pn_connection_free() or pn_listener_free() in the event handler on the last
          event.

          jira-bot ASF subversion and git services added a comment - Commit a85c89ac8c1b8a19fae0b32cab6549e8d9d1ce24 in qpid-proton's branch refs/heads/master from aconway [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=a85c89a ] PROTON-1445 : Change proactor ownership model Changed ownership model for pn_connection_t and pn_listener_t managed by the proactor: instead of proactor freeing automatically after the final event, the user must free on or after the final event. There are 2 basic use cases: 1. Free connection/listener immediately on the last event. 2. Keep connection/listener in memory until all application pointers are cleaned up. Proactor ownership does 1. very well, but makes 2. very difficult without exposing reference-counts. User ownership supports both reasonably easily: 1. is implemented by calling pn_connection_free() or pn_listener_free() in the event handler on the last event.
          aconway Alan Conway made changes -
          Field Original Value New Value
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]

          Commit 6e63fd7878a033d5822987c4b943021e74b6fc83 in qpid-proton's branch refs/heads/master from aconway
          [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=6e63fd7 ]

          PROTON-1445: tests/proactor.c - fix memory management

          Fix the unit tests to respect the new memory management rules.

          jira-bot ASF subversion and git services added a comment - Commit 6e63fd7878a033d5822987c4b943021e74b6fc83 in qpid-proton's branch refs/heads/master from aconway [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=6e63fd7 ] PROTON-1445 : tests/proactor.c - fix memory management Fix the unit tests to respect the new memory management rules.

          Commit 2d9c086997038698267fa66d9fbccb9b6e6306e4 in qpid-proton's branch refs/heads/master from aconway
          [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=2d9c086 ]

          PROTON-1445: c proactor SSL support

          Fix regression introduced by PROTON-1445 that caused the AMQP protocol header
          to be sent too early, breaking SSL communication. Added proactor.c test
          for SSL connections.

          jira-bot ASF subversion and git services added a comment - Commit 2d9c086997038698267fa66d9fbccb9b6e6306e4 in qpid-proton's branch refs/heads/master from aconway [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=2d9c086 ] PROTON-1445 : c proactor SSL support Fix regression introduced by PROTON-1445 that caused the AMQP protocol header to be sent too early, breaking SSL communication. Added proactor.c test for SSL connections.

          Commit 2d9c086997038698267fa66d9fbccb9b6e6306e4 in qpid-proton's branch refs/heads/master from aconway
          [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=2d9c086 ]

          PROTON-1445: c proactor SSL support

          Fix regression introduced by PROTON-1445 that caused the AMQP protocol header
          to be sent too early, breaking SSL communication. Added proactor.c test
          for SSL connections.

          jira-bot ASF subversion and git services added a comment - Commit 2d9c086997038698267fa66d9fbccb9b6e6306e4 in qpid-proton's branch refs/heads/master from aconway [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=2d9c086 ] PROTON-1445 : c proactor SSL support Fix regression introduced by PROTON-1445 that caused the AMQP protocol header to be sent too early, breaking SSL communication. Added proactor.c test for SSL connections.

          Commit 640e95c4af3af5e66ff2cef1ab85da45a3329f15 in qpid-proton's branch refs/heads/master from aconway
          [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=640e95c ]

          PROTON-1445: Implement release_connection for proactor and driver

          Allow user to take back ownership of a connection.

          jira-bot ASF subversion and git services added a comment - Commit 640e95c4af3af5e66ff2cef1ab85da45a3329f15 in qpid-proton's branch refs/heads/master from aconway [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=640e95c ] PROTON-1445 : Implement release_connection for proactor and driver Allow user to take back ownership of a connection.
          robbie Robbie Gemmell made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

          People

            aconway Alan Conway
            aconway Alan Conway
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: