Refactor extension::Handle class to separate ownership from API

XMLWordPrintableJSON

    • Query Integration
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, the extension::Handle helper template manages both the ownership semantics (owned/unowned), as well as the vtable API access of an extension API interface.

      This makes it difficult to separate the concerns of ownership, and adapting the C API into C++. For example, MongoExtensionStatus is bound to an OwnedHandle<::MongoExtensionStatus>, where all the access methods are defined on the template instantiation of OwnedHandle<::MongoExtensionStatus>. If an unownedHandle is required, it's not possible to reuse the code for OwnedHandle.

      As part of this ticket, try to identify a way to separate the concerns of VTable API, and owned/unowned handle.

            Assignee:
            Santiago Roche
            Reporter:
            Santiago Roche
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: