-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard-openlmi.rhcloud.com/r/837/
-----------------------------------------------------------
(Updated Oct. 8, 2013, 10:08 a.m.)
Status
------
This change has been marked as submitted.
Review request for OpenLMI Developers.
Repository: openlmi-providers
Description
-------
journald: Add support for iterators
This implements CIM_MessageLog iterator functionality according to
the model. The only limitation, or, let's say shortcoming, is a
free-form output data format from the GetRecord call. Currently we
feed the uint8 array with UTF-8 chars and it's up to the client to
deal with it (as suggested in the model). This may be subject to
change.
Many methods are returning modified iterator that has been passed
in and that allows having persistent iterators. As long as CIMOMs
may destroy the instances and unload providers on inactivity, any
particular delay would cause loss of the iterator. The iterator
string contains journal cursor string, uniquely identifying a
record. When this part of the iterator string is valid, the
provider is able to reopen journal and seek to that position,
allowing seamless continuation of the itearation process. If the
cursor points to non-existing record, an error is returned. This
typically happens when journal is rotated or the cursor is very
old.
The provider keeps track of active iterators during its lifetime,
keeping the journal open for fast access. Clients are supposed to
close the iterator by calling the CancelIteration method.
--
some TODOs will be addressed in future patches
tests will be published soon
Diffs
-----
src/journald/LMI_JournalMessageLogProvider.c c4d945727268f9ca9ba73057d65ddfadb05a909f
src/journald/instutil.h ee823c57c7ae747fee7360661888e10d46e26a95
src/journald/instutil.c ac9e76809f3f6d4316d10e0dcf6730e2418d3b1f
Diff:
http://reviewboard-openlmi.rhcloud.com/r/837/diff/
Testing
-------
Thanks,
Tomáš Bžatek