diff options
author | Dmitri Pal <dpal@redhat.com> | 2009-08-14 15:05:12 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-08-20 15:47:34 -0400 |
commit | c7916d6b820bde690145450ba02209e741154866 (patch) | |
tree | 8fa39e9d28e8d1f384471540e58cdc280975c72e /common/collection | |
parent | b776f0af14866051ab9dcdb696345643424261d5 (diff) | |
download | sssd-c7916d6b820bde690145450ba02209e741154866.tar.gz sssd-c7916d6b820bde690145450ba02209e741154866.tar.bz2 sssd-c7916d6b820bde690145450ba02209e741154866.zip |
ELAPI: Adding concept of targets
The targets are the destinations which
caller wants to send the events to.
The sinks are now on the second level
under targets and constitute a so called
fail over chain for a target.
Such approach eliminates the need for complex
routing function.
The dispatcher keeps the list of targets in a collection.
The element in the collection is the target context.
Also gispatcher keeps the list of the sinks
in a separate collection.
Each target context has a list of the sinks
associated with this target. But those are just
pointers (at least for now) to the sinks
form the list kept by dispatcher.
I had to add some internal debug callbacks
to be able to see that all the internals of
the dispatcher are actually in order.
See the conttent of config file for more comments.
Also see information posted on SSSD wiki.
https://fedorahosted.org/sssd/wiki/WikiPage/ELAPIInterface
Diffstat (limited to 'common/collection')
-rw-r--r-- | common/collection/collection.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/common/collection/collection.h b/common/collection/collection.h index 6868cb6e..e9533a45 100644 --- a/common/collection/collection.h +++ b/common/collection/collection.h @@ -443,6 +443,9 @@ int col_get_item_and_do(struct collection_item *ci, /* A collection of items */ * while the pointer to its data is in use. * Working with the internals of the collection item structure directly * may cause problems in future if the internal implementation changes. + * The caller needs to be aware that function does not return + * error if item is not found. The caller needs to check if + * item is not NULL to determine whether something was found. */ int col_get_item(struct collection_item *ci, /* Collection to find things in */ const char *property_to_find, /* Name to match */ |