class LogBatchIterator
Defined at line 26 of file ../../src/lib/diagnostics/accessor2logger/log_message.h
LogBatchIterator wraps a fuchsia::diagnostics::BatchIterator and maintains the necessary state
(MessageParser) to decode log messages from it.
This class is thread-hostile; the same restrictions as InterfacePtr
(see the comment for InterfacePtr at sdk/lib/fidl/hlcpp/include/lib/fidl/cpp/interface_ptr.h)
apply to this class. In short, all calls to this class (including the destructor) should
be made from the thread to which the interface was bound.
Public Methods
void LogBatchIterator (const LogBatchIterator & )
Non-copyable, but movable.
Defined at line 32 of file ../../src/lib/diagnostics/accessor2logger/log_message.h
LogBatchIterator & operator= (const LogBatchIterator & )
Defined at line 33 of file ../../src/lib/diagnostics/accessor2logger/log_message.h
void LogBatchIterator (LogBatchIterator && )
Defined at line 34 of file ../../src/lib/diagnostics/accessor2logger/log_message.h
LogBatchIterator & operator= (LogBatchIterator && )
Defined at line 35 of file ../../src/lib/diagnostics/accessor2logger/log_message.h
void Unbind ()
Defined at line 72 of file ../../src/lib/diagnostics/accessor2logger/log_message.h
void set_error_handler (fit::function<void (zx_status_t)> handler)
Defined at line 74 of file ../../src/lib/diagnostics/accessor2logger/log_message.h
void LogBatchIterator (fuchsia::diagnostics::BatchIteratorPtr iterator)
Defined at line 342 of file ../../src/lib/diagnostics/accessor2logger/log_message.cc
void ~LogBatchIterator ()
Defined at line 345 of file ../../src/lib/diagnostics/accessor2logger/log_message.cc
void GetNext (GetNextCallback callback)
Calls GetNext on the underlying BatchIterator and converts the results.
This is an asynchronous operation. The method returns immediately, and the
provided `callback` will be invoked later when a batch of messages is retrieved
or an error occurs.
Callback details:
- Threading: The callback is invoked on the thread running the dispatcher
associated with the underlying FIDL client (`iterator_`), which is typically
the default dispatcher of the thread where the `LogBatchIterator` was created.
- Execution: Since `GetNextCallback` is a `fit::callback`, it will be invoked
at most once.
- Lifetime/Cancellation: If the `LogBatchIterator` is destroyed or unbound
(via `Unbind()`) before the callback is run, the pending FIDL callback
will be discarded and the callback will *never* be called. Therefore,
any references or captures within the callback must remain valid until either the
callback is invoked or the `LogBatchIterator` is destroyed/unbound.
Defined at line 351 of file ../../src/lib/diagnostics/accessor2logger/log_message.cc