-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Core] Support kField_EntityReferencesMatchPrefix
#566
Labels
Comments
8 tasks
foundrytom
changed the title
[Core] Support (or remove)
[Core] Support Jan 11, 2023
kField_EntityReferencesMatchPrefix
kField_EntityReferencesMatchPrefix
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 6, 2023
Closes OpenAssetIO#998. C++ hosts and managers will need a shared understanding of common manager info dictionary keys. In particular, upcoming work will implement the `isEntityReferenceString` prefix optimisation (OpenAssetIO#566). Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 6, 2023
Closes OpenAssetIO#998. C++ hosts and managers will need a shared understanding of common manager info dictionary keys. In particular, upcoming work will implement the `isEntityReferenceString` prefix optimisation (OpenAssetIO#566). Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 6, 2023
Closes OpenAssetIO#998. C++ hosts and managers will need a shared understanding of common manager info dictionary keys. In particular, upcoming work will implement the `isEntityReferenceString` prefix optimisation (OpenAssetIO#566). Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 6, 2023
Closes OpenAssetIO#998. C++ hosts and managers will need a shared understanding of common manager info dictionary keys. In particular, upcoming work will implement the `isEntityReferenceString` prefix optimisation (OpenAssetIO#566). Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 6, 2023
Closes OpenAssetIO#566. When a Python based manager implementation is used, the cost of acquiring the GIL and entering Python in order to invoke a simple string prefix check can be prohibitive. We have several docstrings that refer to the `kInfoKey_EntityReferencesMatchPrefix` optimisation/convenience of `isEntityReferenceString`. However, it was not supported, making the docs invalid. So add support for using this optional optimisation feature. Signed-off-by: David Feltell <david.feltell@foundry.com>
2 tasks
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 7, 2023
Closes OpenAssetIO#998. C++ hosts and managers will need a shared understanding of common manager info dictionary keys. In particular, upcoming work will implement the `isEntityReferenceString` prefix optimisation (OpenAssetIO#566). Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 7, 2023
Closes OpenAssetIO#566. When a Python based manager implementation is used, the cost of acquiring the GIL and entering Python in order to invoke a simple string prefix check can be prohibitive. We have several docstrings that refer to the `kInfoKey_EntityReferencesMatchPrefix` optimisation/convenience of `isEntityReferenceString`. However, it was not supported, making the docs invalid. So add support for using this optional optimisation feature. Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 7, 2023
Part of OpenAssetIO#566. Add a note that manager plugin authors should consider making use of the `kInfoKey_EntityReferencesMatchPrefix` feature, now that it actually works. Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 12, 2023
Closes OpenAssetIO#566. When a Python based manager implementation is used, the cost of acquiring the GIL and entering Python in order to invoke a simple string prefix check can be prohibitive. We have several docstrings that refer to the `kInfoKey_EntityReferencesMatchPrefix` optimisation/convenience of `isEntityReferenceString`. However, it was not supported, making the docs invalid. So add support for using this optional optimisation feature. Signed-off-by: David Feltell <david.feltell@foundry.com>
feltech
added a commit
to feltech/OpenAssetIO
that referenced
this issue
Jul 12, 2023
Part of OpenAssetIO#566. Add a note that manager plugin authors should consider making use of the `kInfoKey_EntityReferencesMatchPrefix` feature, now that it actually works. Signed-off-by: David Feltell <david.feltell@foundry.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What
Add support in the C++ implementation of
isEntityReferenceString
for a prefix-based default via thekField_EntityReferencesMatchPrefix
property of the manager'sinfo()
dictionary; such that when this key is provided, theManager
wrapper doesn't invoke the corresponding method of the held interface.Why
When a Python based manager implementation is used, the cost of acquiring the GIL and entering Python in order to invoke the a simple string prefix check can be prohibitive.
We have several docstrings that refer to the
kField_EntityReferencesMatchPrefix
optimisation/convenience ofisEntityReferenceString
. However, it is not currently supported, making the docs invalid.ACs
isEntityReferenceString
is called onManager
, if the interfaces info provides the aforementioned key then the implementations corresponding method is not called, and the method returns if the input string begins with the specified prefix.info
should only be called once perManager
instantiation`Notes
Caused by work on #549.
A prerequisite is actually migrating the constant to C++, i.e. #354
The text was updated successfully, but these errors were encountered: